FPGA实验
八位全加器代码1234567module adder8(cout, sum, a, b, cin); output cout; output[7:0] sum; input[7:0] a, b; input cin; assign {cout,sum}=a+b+cin;endmodule
测试123456789101112131415`timescale 1ns/10psmodule adder8_tb; reg[7:0] aa, bb; reg ccin; wire[7:0] ssum; wire ccout;adder8 adder8(.cout(ccout), .sum(ssum), .a(aa), .b(bb), .cin(ccin));initial begin aa<=8'b1110_0101;bb<=8'b0100_1001;ccin<=0; #10 aa<=8'b0010_0100;bb<=8'b1100_1101;ccin<=~ccin; # ...
流水灯和呼吸流水灯
流水灯代码123456789101112131415161718192021222324252627module top( input reset, input clk, output[7:0] ctrcode );wire dclk;wire[2:0] code;divisor#(.DIV_CLK(5)) di1(reset,clk,dclk);Counter c1(reset,dclk,code);decoder de1(code,ctrcode);endmodulemodule Counter( input reset, input clk, output reg[2:0] count);always @(posedge clk or negedge reset) begin if(!reset) begin count <= 3'b000; end else count <= count + 1;end endmodule
12345678910111213141516171819202122232425262728293031module divis ...
组合电路设计与测试
实验目的
熟练组合电路的设计和实现的方式
掌握Verilog HDL组合电路模块的设计规范。
掌握组合逻辑测试代码的撰写和仿真测试方法。
预习要求
了解assign、门原件、always过程语句及模块调用描述组合逻辑电路设计的方法和注意事项。
了解QuartusII或iverilog>kwave软件使用的基本规范和操作流程
实验原理
带优先级8-3编码器和3-8译码器
8-3编码器3-8译码器12345678910111213141516171819# 带优先级8-3编码器module code83(in8,out3);input[7:0] in8; output reg[2:0] out3;always@(in8)begincase(in8)if(in8[7]) out3=3'b111;else if(in8[6]) out3=3'b110;else if(in8[5]) out3=3'b101;else if(in8[4]) out3=3'b100;else if(in8[3]) out3=3'b011;else i ...
FPGA基本电路设计与测试
实验目的
熟练掌握文本输入设计、综合、仿真和下载的基本流程
掌握Verilog HDL模块的构成和基本逻辑模块的设计规范。
掌握测试代码的撰写和仿真测试方法。
预习要求
了解EDA数字系统设计的基本流程。
了解QuartusII或iverilog>kwave软件使用的基本规范和操作流程
了解测试代码撰写规范。
实验原理
待测模块test003123456789module test003(input[1:0] in1,input[1:0] in2,output cont,output[1:0] sum);assign {cont,sum}=in1+in2;endmodule
测试代码,可以通过quartus自动产生测试模板。通过控制送入待测模块的信号观测输出,分析输出与预期进行比较判断是否正确。1234567891011121314151617181920212223242526272829303132333435363738`timescale 1 ns/ 1 ps //时间标尺,确定时间单位和精度module test003_vlg_tst() ...
基本时序逻辑设计
实验目的
熟练掌握时序逻辑设计规范
掌握Verilog HDL时序逻辑模块的设计和仿真。
掌握开发板上基本输出资源的使用方法。
掌握测试和错误修改方法。
预习要求
了解EDA数字系统设计的基本流程。
了解时序逻辑过程块设计的基本规范和模型
了解七段管的工作特性。
了解组合逻辑和时序逻辑电路设计的主要特性和区别。
实验原理
SW上拨为输出高电平、下拨为输出低电平
KEY0-KEY3正常情况下输出高电平,按下输出低电平,松开按键恢复到弹起状态输出高电平
7段数码管:HEX0[6:0]—-HEX7[6:0],每个7段管信号对应数码管,6—-0,低电平时发光,高电平不亮。
分频电路参考:由50MHz信号,经过分频变成1Hz。原理:0-25000000计数,满2500万后新的时钟CLK1反转,计数归零,从0开始重新计数到2500万后,新时钟再反转,使得CLK1一个周期内包含2500万*2个CLOCK_50(50Mhz)时钟周期,为1hz12345678910111213module divclk1hz(reset,clk50,clk1);input clk50,reset;//clk50为输 ...