FPGA入门篇:Verilog计数器

2023-12-07

一.Verilog介绍,Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
二.Verilog计数器,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第1张
我们用 明德杨《至简设计法》--八部计数法来分析此题,1). 明确目标:找输入输出并绘画I/O表,① 输入输出>
1.模块时钟,D触发器中clk和rst_n为输入,位宽默认为1。
2.题目给出输出为dout,位宽和时钟默认为1。
② I/O表>
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第2张
2). 画波形图,① 根据题目分析绘画波形图,先看第一个阶段a部分>
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第3张
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第4张
完成第一阶段后继续后面的内容>
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第5张
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第6张
3). 计数框架,① 计数结构>
以该题为例,题目要求多次收到en的信号,多个阶段的信号处理,所以,我们可以优先考虑使用两个计数器,命名为cnt_0和cnt_1,分别来记录en=1,后dout处于哪个阶段。
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第3张
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第8张
4). 加一结束条件,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第9张
u cnt_0加1条件:收到en的信号后,利用变量flag_add辅助来持续周期,所以cnt_0=flag_add为,加1条件。
u cnt_1加1条件:当cnt_0完成一个阶段计数后,每收到en的信号,cnt_1就开始计数,完成一个阶段cnt_1加1,所以 cnt_1=end_cnt_0 为加1条件。
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第10张
5). 定义特殊点,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第11张
a 整个功能的开始点:en;,b cnt_0的结束条件:cnt _0= x-1,定为end_cnt_0;,c cnt_1的结束条件:cnt_1= 3-1,定为end_cnt_1;,d dout变高条件:en==1。
6). 完整性检查,保证每个信号的变化条件已经清晰明确,并且变化条件要用信号表示。
a. cnt_0,cnt_0 cnt_0初始值:0;,cnt_0的加1条件:flag_add==1;,cnt_0的结束条件:计数至cnt==x-1;,b. cnt_1,cnt_1初始值:0;,cnt_1的加1条件:cnt_1=end_cnt_1;,cnt_1的结束条件:cnt_3-1;
c. dout,dout由0→1:en = 1;,dout由1→0:end_cnt_0;,d. flag_add,flag_add由0→1:en==1,flag_add由1→0:end_cnt_1,e. x与z,cnt_1 == 0: cnt_1 == 1:,x = 5; x = 7;
z = 1; z = 2;
cnt_1 == 2;
x = 2;
z = 3;
x为时钟周期,z是数值,7). 计数器代码,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第12张
Ø 计数器框架、加1条件,和结束条件代码,8). 功能代码,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第13张
Ø 按照完整性检查,写,出计数器之外的代码。
最后仿真检测一下代码>
FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第14张
第一次接收到en信号,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第15张
第二次接收到en信号,FPGA入门篇:Verilog计数器 (https://ic.work/) 可编辑器件 第16张

文章推荐

相关推荐