电子说
FPGA之三八译码器
一听到三八译码器这个东西可能会感觉有点熟悉,其实在STC89C51系列单片机中,里面就有一个三八译码器,就是一开始的流水灯程序,LED0-7这八个LED!但是怎么在FPGA中实现三八译码器呢?其实很简单。
1、创建好工程,像上一篇文章那样,我就不多说了,忘记的同学可以到下面这个网址查看,
https://blog.csdn.net/Jiang_YW/article/details/89220995
2、创建好工程以后,再新建一个Verilog HDL文件,我命名为DCC_38.v,然后把文件添加到工程里面。
建议新手先学一下Verilog HDL语法,不然对这些内容会看不懂,Verilog相对于VHDL要简单,而且看起来要更相似与C语言,学过C的话,再学Verilog会简单一点点。
推荐网址:https://www.cnblogs.com/SYoong/p/5849168.html
有好几个章节,有兴趣的的同学可以学学。
3、把上面工程编译一遍没错之后,就可以开始写tb(testbench)文件了,再新建一个DCC_38_tb.v文件,编写激励程序。
写完之后也添加到尽快工程里面进行编译。
4、点击Assignment → Setting
按上图操作完成之后,点击add跟OK,保存好即可。
5、点击RTL Simulation,进行前仿真。
一开始没仿真图出来,点击上面红色框的黑色放大镜即可。
由上图可见仿真没有错误,那么就先关闭ModuleSim。
6、然后点击Gate Level Simulation进行后仿真,点击Run。操作与上图一样
在图里可以看见LED的输出有一点点的延迟,这是正常现象。
为什么这一瞬间LED的值会为零呢?
实际上是芯片0000_0001→0000_0000 → 0000_0010进行了两次的反转,其他的也一样。
7、点击Pin Planner,参考引脚配置,进行引脚分配
8、再编译一遍程序,就可以烧录到板子里面。
上图只看左边三个开关,第四个忽略
程序ok。
全部0条评论
快来发表一下你的评论吧 !