Verilog HDL02——FPGA 电路开发入门实验

实验一、项目创建、编译和下载

实验二、FPGA译码器组合逻辑

因为破解不充分无法打开实验三signaltap功能,先完成了实验一实验二,提前写了博客

链接:(1条消息) Verilog HDL01——FPGA电路开发实验初步使用_钶的博客-CSDN博客

实验三、计数器波形仿真和signalTap

组建一个计数器模块,建BD文件形成电路,对电路做波形仿真如下

Verilog HDL02——FPGA 电路开发入门实验

 初次使用signaltap,时钟采样深度128,采样模式为连续采样,触发流程为状态触发,触发位置为前端触发,触发条件为1个

Verilog HDL02——FPGA 电路开发入门实验Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

错误尝试:

我试着改成分片的输出,波形只有4个周期

**由下一个实验得到分片采样需要设置分片的触发信号,比如这个实验采用OV作为触发信号,会得到以下结果(状态触发流程)

学生实验:

1、把计数最大值改到17,那就是把输出CNTVAL增加一位,9替换成17

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

2、更改OV的值,只要在if-else语句里更改即可

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

3、时钟在50MHz,变化太快,看起来OV的LED一直亮着,人眼无法识别闪烁。

实验四、时间基准电路和带使能的多周期计数器

本实验设计目标

• 设计时间基准电路和带使能的多周期计数器
• 时间基准电路生成同步时间基准信号
• 多周期计数器对时间基准信号进行计数

 1、电路部分

从RTL图可以看得出,本质上是一个两级计数器级联的的电路结构
 – 第一级计数器生成时间基准信号
 – 第二级计数器用时间基准信号作为计数使能

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

上面是第一个计数器,下面是第二个计数器的内部,可以看到有多出一个使能端口 

Verilog HDL02——FPGA 电路开发入门实验

2、波形仿真  

波形仿真需要把参数最大值改小,如果没有改小波形从signaltap可以看出OV的变化要在9小时产生一次,波形仿真难以完成(对end time的更改以秒为最大单位,9小时很难实现)Verilog HDL02——FPGA 电路开发入门实验

波形仿真的时间尺度不宜太长。编译器有可能会优化掉中间结果。

Verilog HDL02——FPGA 电路开发入门实验

3、signalTap 

signaltap中采样时钟选择clk50,采用深度128,使用en_out为触发信号,选中segmented模式,8段16样点

使用状态触发,触发位置是前触发

 Verilog HDL02——FPGA 电路开发入门实验Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验


 不分片采样得到的波形

Verilog HDL02——FPGA 电路开发入门实验 同一时刻,只能观测到一个计数值不利于调试

分片采样可以完成更多关注每次en_out信 号为1的时刻附近的其他信号情况

学生实验

仿照本实验,请完成以下任务

• 1、参照代码,把后级计数器的计数范围改为0-15。

更改计数模块的Verilog语句即可

Verilog HDL02——FPGA 电路开发入门实验

Verilog HDL02——FPGA 电路开发入门实验Verilog HDL02——FPGA 电路开发入门实验

• 2、把计数器的0-15计数值经过译码,在DE0 的 HEX LED上显示成0-9-A-F的十六 进制数

在输出15(F)时输出高电平,亮灯;

Verilog HDL02——FPGA 电路开发入门实验

• 3、修改时间基准发生器,设计一个使用2个HEX LED,精度为0.1秒,范围为0-9.9秒的计时秒表。

• 4、自行设计上面计时器的附加控制功能(清零、暂 停)。

 

上一篇:IC验证面试之手撕verilog常用的电路


下一篇:Python函数篇:dict函数和列表生成式