FPGA之三八译码器

FPGA之三八译码器

 

一听到三八译码器这个东西可能会感觉有点熟悉,其实在STC89C51系列单片机中,里面就有一个三八译码器,就是一开始的流水灯程序,LED0-7这八个LED!但是怎么在FPGA中实现三八译码器呢?其实很简单。

1、创建好工程,像上一篇文章那样,我就不多说了,忘记的同学可以到下面这个网址查看,

https://blog.csdn.net/Jiang_YW/article/details/89220995

2、创建好工程以后,再新建一个Verilog HDL文件,我命名为DCC_38.v,然后把文件添加到工程里面。

FPGA之三八译码器_第1张图片

建议新手先学一下Verilog HDL语法,不然对这些内容会看不懂,Verilog 相对于VHDL要简单,而且看起来要更相似与C语言,学过C的话,再学Verilog会简单一点点。

推荐网址:https://www.cnblogs.com/SYoong/p/5849168.html

有好几个章节,有兴趣的的同学可以学学。

3、把上面工程编译一遍没错之后,就可以开始写tb(testbench)文件了,再新建一个DCC_38_tb.v文件,编写激励程序。

FPGA之三八译码器_第2张图片

写完之后也添加到尽快工程里面进行编译。

4、点击Assignment → Setting

FPGA之三八译码器_第3张图片

按上图操作完成之后,点击add跟OK,保存好即可。

5、点击RTL Simulation,进行前仿真。

一开始没仿真图出来,点击上面红色框的黑色放大镜即可。

由上图可见仿真没有错误,那么就先关闭ModuleSim。

6、然后点击Gate Level Simulation进行后仿真,点击Run。操作与上图一样

在图里可以看见LED的输出有一点点的延迟,这是正常现象。

FPGA之三八译码器_第4张图片

为什么这一瞬间LED的值会为零呢?

实际上是芯片0000_0001 → 0000_0000 → 0000_0010进行了两次的反转,其他的也一样。

  1. 点击Pin Planner,参考引脚配置,进行引脚分配

FPGA之三八译码器_第5张图片

FPGA之三八译码器_第6张图片

 

 

再编译一遍程序,就可以烧录到板子里面。

FPGA之三八译码器_第7张图片

FPGA之三八译码器_第8张图片

程序ok。

工程项目网址:
https://pan.baidu.com/s/1WnbqK0FdV51RKuT7gcOlWg

提取码:

9gv7

你可能感兴趣的:(FPGA)