- 实验目的:
理解Verilog 语法中:条件运算符(?:)、寄存器变量定义、always 块、 12 case 条件分支语句、数值表示方法(二进制、十进制、十六进制)、 parameter 参数化、模块例化及参数传递。
理解典型组合电路逻辑:case 译码电路(注意 default 分支),通过实验加深对数码管编码显示数字的理解,除法运算符(/)。注意parameter 定义的参数 可视为常量,对其应用除法操作与对 wire 或 reg 类型信号应用除法 操作的不同。典型组合电路逻辑:多选器
二、实验内容:
建立一个七段数码管译码电路,使用 4 位拨码开关作为输入信号, 译码后输出 8 位信号控制一个七段数码管进行显示。 数码管译码电路为纯组合逻辑,不包含时序元件。
建立一个数码管扫描显示电路,实现对一组数据的数码管显示。 该电路为简单时序电路,包含顶层模块、数码管扫描控制器模块和数 据多选器模块,以及第 2.2 节介绍过的数码管译码模块、第 2.3 节介绍过的分频模块和移位寄存器模块等。 首先对输入时钟进行分频得到 100Hz 的数码管扫描时钟,在扫描 时钟的驱动下使用移位寄存器生成数码管位选信号;使用数码管位选 信号选择待显示数据中相应的数据位,并进行数码管译码产生段选信 17 号。
三、实验代码:
数码管译码部分代码:
- seg_decode部分代码: