lcytms 发表于 2017-3-26 23:32:46

1107       
        把块的名字加上去。
        led_mux、led_encoder。
        删除注释部分。
        做到这一步,就全部做完了。
          

lcytms 发表于 2017-3-26 23:33:30

1108       
        现在在一个led_driver里面,我们就写完了全部的电路模型。
        把我们三个子部件用隐式建模的方式实现。
        做一个分析和综合。
        把seg_n、addr声明成reg。
        Ctrl+S、Ctrl+K。
       

lcytms 发表于 2017-3-26 23:36:25

1109       
        这段隐式建模就做好了。
        隐式建模跟显式建模本质上是一回事,就是描述电路。
        只不过一个是显式的,显式的端口,显式的方向,显式的模块命名。       
1110       
        (指导练习)       
1111       
        以及完成的同学把你的验证添加进来。
        没有完成的同学把我们的验证添加进来。
        把顶层driver的testbench文件打开,选择加入后选应用、OK。
        打开led_driver_tb.v文件,把sel改成addr。

lcytms 发表于 2017-3-26 23:38:34

1112       
        直接用这个testbench即可。
        保存,做分析和综合。       
1113       
        把led_driver创建符号,弹出对话框选OK。
        回到图上。挪开seg的线。把两个常数的IP核删掉。
        把sel的线也挪开。把counter也删掉。

lcytms 发表于 2017-3-26 23:40:57

1114       
        命名led_clk时钟。
        led_clk时钟是10k周。
        在空白的地方双击,添加led_driver。
        把sel连接到addr上。
        Seg连接到seg_n上。
        添加led_clk时钟。

lcytms 发表于 2017-3-26 23:42:10

1115       
        添加复位信号rst_n。
        hex端加一个地,让它显示全0。
       

lcytms 发表于 2017-3-26 23:43:25

1116       
        先做分析和综合。
        观察hierarchy层次的树上,能不能找到led_driver呢?
        能。
        做仿真设置。
       

lcytms 发表于 2017-3-26 23:45:26

1117       
        做检查。
        执行仿真。
        选RTL前仿即可。
1118       
        把hex的显示改为十六进制。
        把sel改成unsigned,monitor改成ASCII码。
        我们看到,当sel为0,显示的是十万位,1这个数字。
        然后万位是2。
        这是123456。
       

lcytms 发表于 2017-3-26 23:46:40

1119       
        测量频率是10k周。现在验证已经是成功了。
        可以来真实地下板了。
        已经做好的是全0了,因为接地了。
        全编译。
        下板一定要全编译。
        全编译之后再检查一下,图上管脚分配有没有问题。
       

lcytms 发表于 2017-3-26 23:48:54

1120       
        检查没有问题。
        把编程器打开,点start。
        这次是不是全0?
        这一次的全0是被led的driver驱动的。
        同学们现在做一件事,把这个地去掉,空白的地方双击,输入lpm_constant,打回车。
        再做一个IP核。
       
页: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
查看完整版本: 跟李凡老师学FPGA之D03:使用tcl脚本(数码管)、二进制转BCD(20160425课堂笔记)