基于VerilogHDL设计七段数码显示译码器

需积分: 45 16 下载量 143 浏览量 更新于2024-09-10 3 收藏 625KB DOC 举报
七段数码显示译码器设计实验报告 本实验报告主要讲述了使用VerilogHDL语言设计七段数码显示译码器,并在实验板上验证的过程。实验的目的是为了设计七段显示译码器,并学习VerilogHDL语言进行逻辑设计输入、设计仿真工具的使用方法。 实验内容: 1. 实现BCD/七段显示译码器的“Verilog”语言设计。该设计的输入为IN0…IN3共5根,输出为“0…9…F”(显示数码),输出结果应在数码管(共阴)上显示出来。 2. 使用工具为译码器建立一个元件符号,设计仿真文件,进行验证。 3. 编程下载并在实验箱上进行验证。 实验原理: 七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。 实验步骤: 1. 编辑和输入设计文件:新建文件夹——输入源程序——文件存盘 2. 创建工程:打开并建立新工程管理窗口——将设计文件加入工程中——选择目标芯片——工具设置——结束设置 3. 全程编译前约束项目设置:选择FPGA目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选择目标器件引脚端口状态——选择Verilog语言版本 4. 全程综合与编译:Processing——StartCompilation启动全程编译 5. 仿真测试:时序分析 延时分析及结果: 在实验中,我们使用了VerilogHDL语言设计七段数码显示译码器,并在实验板上验证了其正确性。实验结果表明,该设计可以正确地将二进制输入转换为十六进制输出,并在数码管上显示出来。 生成RTL原理图: [pic] 该实验的配置模式: [pic]适配板布局图及实验仪IO脚与芯片的管脚对应关系: [pic] 程序源代码: module led7s(DIN, LED7S); // 7段数码显示译码器顶层设计描述 input[3:0] DIN; //定义四位二进制输入变量DIN output[6:0] LED7S; reg[6:0] LED7S; //定义寄存器变量用作内部元件间连线 always@(DIN) begin case(DIN) 4'b0000: LED7S = 7'b0111111; // 0 4'b0001: LED7S = 7'b0000110; // 1 4'b0010: LED7S = 7'b1011011; // 2 4'b0011: LED7S = 7'b1001111; // 3 4'b0100: LED7S = 7'b1100110; // 4 4'b0101: LED7S = 7'b1101101; // 5 4'b0110: LED7S = 7'b1110111; // 6 4'b0111: LED7S = 7'b0000111; // 7 4'b1000: LED7S = 7'b1111111; // 8 4'b1001: LED7S = 7'b1101111; // 9 4'b1010: LED7S = 7'b1111011; // A 4'b1011: LED7S = 7'b1101101; // B 4'b1100: LED7S = 7'b1110111; // C 4'b1101: LED7S = 7'b1101100; // D 4'b1110: LED7S = 7'b1111011; // E 4'b1111: LED7S = 7'b1101110; // F endcase endmodule 该实验报告展示了如何使用VerilogHDL语言设计七段数码显示译码器,并在实验板上验证其正确性。