1、实验目的
掌握数据选择器的工作原理和逻辑功能
掌握数据选择器的使用方法
掌握 4 位数码管扫描显示方法
4 位数码管显示应用—记分板设计
2、实验内容
任务 1:数据选择器设计
任务 2:记分板设计
3、实验过程
任务 1:数据选择器设计
1.创建工程并绘制原理图
建立工程 Mux4to1b4_sch,创建原理图文件 Mux4to1b4,按原理图绘制
2.原理图仿真
建立基准测试波形文件 Mux4to1b4_sim,输入仿真激励信号,在 Process 窗口中选择 Simulate Behavioral Model,可以得到仿真波 形图:
任务 2:记分板设计
1.创建工程并创建器件
建立工程 Mux4to1b4_sch,创建原理图文件 Mux4to1b4,然后按 原理图绘制器件或是输入代码生成器件 第一个器件:时钟计数分频器(clkdiv)
然后点击 Create Schematic Symbol,生成逻辑符号图文件。
第二个器件:4 位七段显示扫描控制(DisplaySync)
然后点击 Create Schematic Symbol,生成逻辑符号图文件。
第三个器件:DispNum
其中MyMC14495 是从实验实验六文件中复制.sym和.sch文件得到 的。
第四个器件:CreateNumber
2.顶层模块设计
创建 Verilog Module 类型的 top 文件,输入以下代码
在右键菜单中设为Top Module,可在Process窗口中点击View RTL Schematic 查看生成的电路结构
3.建立用户时序约束并为模块的端口指定引脚分配
建立引脚约束文件 K7.ucf,输入代码,为每个输入输出端口分配 引脚。
4.生成 bit 文件并下载到开发板
这里的结果是视频方式交的,不提供了
4、实验结果
原理图中posedge是指上升沿,也就是变为1时,在always@()中的意思是上升沿时运行以下语句,如果不是clk的话,那多半是一个开关按动时,不过这里的开关可能有机械抖动。
Verilog语言从这次开始就逐渐步入正轨了,其中分频器是个常用的原件,多看看
DispNum d0(.a(a), .b(b), .c(c) );
DispNum a1(a,c,b);
这是两种写法:
d0,a1是给它的编号,可以随便写,a2,a3都可以,不过不能和之前出现过的重复,如果之前有了a2,那这里就不能是a2了
第一种:.a()是指定接口,把括号中的wire接进去DispNum的a接口,a是外面的wire,可以不按照一定的顺序
第二种:a,c,b也都是外面的wire,不过不同的地方在于必须按照一定的顺序
那么这个一定的顺序是指什么呢?
对于原理图来说就是硬件描述代码中的顺序
对于Verilog文件来说就是文件中的这个顺序