- 博客(14)
- 收藏
- 关注
原创 FPGA 电路开发入门实验(实验1:项目创建、编译和下载 )
学生实验用1个拨码开关控制所有的LED灯亮灭首先画出BDF图:编译,观察RTL Viewer:然后分配引脚,把不用的引脚设为三态,然后编译下载,得到结果:当我们把SW0设为高电平时,LED灯全亮:实验结果与预想一致,验证了实验的正确性。...
2019-11-19 12:51:47
391
原创 FPGA 电路开发入门实验(实验2:FPGA译码器组合逻辑 )
学生实验1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。2、参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定。3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母实现编写verilog代码如下:module dec_2t...
2019-11-19 12:43:43
973
原创 FPGA 电路开发入门实验(实验4:时间基准电路和带使能的多周期计数器)
秒表的verilog代码如下:module cnt_sync( CLK , // clock OUT, // counter value OV ); // overflowinput CLK;output [32-1:0] OUT;output OV;reg [32-1:0] OUT;reg OV;parameter MAX_CNT=5000_000;...
2019-11-19 12:04:17
370
原创 FPGA 电路开发入门实验(实验5:多周期时序逻辑 移位寄存电路 )
首先写出Verilog代码如下://////////////////// 串入并出移位寄存器 /////////////////////////module shift_reg_SIPO( RST , // 异步复位, 高有效 CLK , // 时钟,上升沿有效 EN , // 输入数据串行移位使能 IN , // 输入串行数据 OU...
2019-11-18 21:24:35
492
原创 FPGA 电路开发入门实验(实验6:计数器、ROM和DDS)
我们现将2个写好的计数器和ROM中数据verilog代码添加到project中,例化创建符号symbol,其中verilog代码如下://////////////////// 带计数增量输入的计数器 /////////////////////////module cnt_incr( CLK , // clock INCR , // counter increase v...
2019-11-18 21:00:27
485
原创 Verilog RTL 新手代码设计 (计数器、状态机、移位寄存器)
9.计数器首先编写Verilog代码如下://////////////////// 计数器代码 /////////////////////////module top( RST , // 异步复位, 高有效 CLK , // 时钟,上升沿有效 EN , // 输入的计数使能,高有效 CLR , // 输入的清零信号,高有效 LOAD , // 输入...
2019-11-11 12:06:51
4794
1
原创 FPGA 电路开发入门实验(实验3:计数器波形仿真和signalTap)
1、参照代码,设计一个0-17的计数器,当计数值为17的时候,OV输出1,其他输出0,注意设定合理的信号位宽。首先写一个0到17的verilog代码如下:module cnt_0to17(CLK,CNTVAL,OV);input CLK;output [4:0] CNTVAL;output OV;reg [4:0] CNTVAL;reg OV;always @(pose...
2019-11-09 12:56:28
765
原创 Verilog RTL 新手代码设计 (多路译码器、加法器、乘法器)
6.多路译码器实现3-8译码器,使用case 语句实现,注意,一定要把case的情况写全,或者要加上default,代码如下:// module topmodule top( IN , // input OUT ); // output input [2:0] IN;output[7:0] OUT;reg [7:0] OUT;// ...
2019-11-05 16:36:53
3246
原创 Verilog RTL 新手代码设计 (边沿捕获器、实例化电路模块并互联、多路选择器、交叉开关、优先编码器)
1.边沿捕获器举例来说,一个在CLK时钟驱动下,对输入信号IN进行上跳沿捕获的电路,它的Verilog代码如下所示,module top( CLK , // input clock IN , // input OUT ); // outputinput CLK; input IN; output OUT;reg d1R, d2R;...
2019-11-05 16:36:22
1952
原创 使用Quartus II9.0实现用74161计数器设计一个20进制的计数器
用74161计数器芯片设计一个20进制的计数器因为我们知道74161是16进制计数器,16<20,所以我们要用2个74161计数器,可以将一个74161变为二进制,一个74161变为10进制从而完成设计。事实上,采用74160计数器将更加方便,但这里我们采用的是74161计数器。我们先建立一个project,然后新建一个Block Diagram文件双击BDF空白处,添加组件符号。如图所...
2019-10-16 15:22:08
11891
2
原创 使用Quartus II9.0实现用74161计数器设计一个12进制的计数器
用161计数器芯片,设计一个M=12的计数器因为我们知道74161是16进制计数器,16>12,所以我们用一个74161计数器采用置零法或者置数法设计一个12进制计数器,这里我们采用置数法。因为74161是同步置数,所以计数器会从0000计数到1011,在下一个CLK脉冲上升沿到来时计数器置数到0000从而继续循环计数,我们可以在到达1011时让计数器输出1,其他情况下输出0,从而完成计...
2019-10-16 15:07:55
13540
原创 使用Quartus II9.0实现用2片3-8 译码器拼接成4-16 译码器
用2片3-8 译码器拼接成4-16 译码器首先我们知道74138仅有3个地址输入端A2,A1,A0。如果相对4位二进制代码译码,只能利用一个附加控制端(S1,S’2,S’3当中的一个)作为第四个地址输入端,上图给出了解决方案。我们先建立一个project,然后新建一个Block Diagram文件双击BDF空白处,添加组件符号。如图所示然后编译一次,新建一个vwf,矢量波形仿真文件,双击...
2019-10-16 14:53:05
9281
原创 使用Quartus II9.0验证74161计数器
用Quartus II9.0验证74161计数器首先使用Quartus,新建一个项目New Quartus Project,创建一个BDF文件,双击BDF空白处,添加组件符号。然后编译一次,新建一个vwf,矢量波形仿真文件,双击name下空白处,点击node finder然后对其添加 输入,输出管脚,可以根据pins:input或者pins:out点击list来选择输入输出引脚。切记在设置引...
2019-10-16 14:30:56
4100
1
原创 使用Quartus II9.0验证74138译码器
这里写自定义目录标题验证74138译码器验证74138译码器在建立一个project后先建立一个Block Diagram工程即创建一个BDF文件,双击BDF空白处,添加组件符号。添加完74138后,创建一个vwf文件,在vwf文件中, 双击name下空白处,点击node finder然后对其添加 输入,输出管脚,编译项目。然后设置输入值利用左侧工具或者双击输入波形设置输入值...
2019-10-15 14:31:40
5651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人