使用工具:Xilinx ISE 14.7

7段译码器主要是由七段译码管组成,通过控制各个译码管的开与关达到显示出16进制数的16个数。实现过程和3-8译码器差不多,主要是构建一个真值表作为map,然后一一对应就行了,代码如下:

module code(
<span style="white-space:pre"> </span>input wire [3:0] in,<span style="white-space:pre">            </span>//输入的数字
<span style="white-space:pre"> </span>output reg [6:0] led,<span style="white-space:pre">       </span>//7段译码管的映射
<span style="white-space:pre"> </span>output reg [3:0] en<span style="white-space:pre">         </span>//显示数字的位置,比如7为3'b111那么在前三位都显示7);<span style="white-space:pre">    </span>
always @ (*)case(in)4'b0000: begin
<span style="white-space:pre">                     </span>led = 7'b1000000; en = 4'b1110;<span style="white-space:pre"> </span>//0
<span style="white-space:pre">                     </span>end4'b0001: begin
<span style="white-space:pre">                     </span>led = 7'b1111001; en = 4'b1110;<span style="white-space:pre"> </span>//1
<span style="white-space:pre">                     </span>end4'b0010: begin
<span style="white-space:pre">                     </span>led = 7'b0100100; en = 4'b1101;<span style="white-space:pre"> </span>//2
<span style="white-space:pre">                     </span>end
<span style="white-space:pre">     </span>  4'b0011: begin
<span style="white-space:pre">                     </span>led = 7'b0110000; en = 4'b1100;<span style="white-space:pre"> </span>//3
<span style="white-space:pre">                     </span>end4'b0100: begin
<span style="white-space:pre">                     </span>led = 7'b0011001; en = 4'b1011;<span style="white-space:pre"> </span>//4
<span style="white-space:pre">                     </span>end4'b0101: begin
<span style="white-space:pre">                     </span>led = 7'b0010010; en = 4'b1010;<span style="white-space:pre"> </span>//5
<span style="white-space:pre">                     </span>end4'b0110: begin
<span style="white-space:pre">                     </span>led = 7'b0000010; en = 4'b1001;<span style="white-space:pre"> </span>//6
<span style="white-space:pre">                     </span>end4'b0111: begin
<span style="white-space:pre">                     </span>led = 7'b1111000; en = 4'b1000;<span style="white-space:pre"> </span>//7
<span style="white-space:pre">                     </span>end
<span style="white-space:pre">     </span>  4'b1000: begin
<span style="white-space:pre">                     </span>led = 7'b0000000; en = 4'b0111;<span style="white-space:pre"> </span>//8
<span style="white-space:pre">                     </span>end4'b1001: begin
<span style="white-space:pre">                     </span>led = 7'b0010000; en = 4'b0110;<span style="white-space:pre"> </span>//9
<span style="white-space:pre">                     </span>end4'b1010: begin
<span style="white-space:pre">                     </span>led = 7'b0001000; en = 4'b0101;<span style="white-space:pre"> </span>//A
<span style="white-space:pre">                     </span>end4'b1011: begin
<span style="white-space:pre">                     </span>led = 7'b0000011; en = 4'b0100;<span style="white-space:pre"> </span>//b
<span style="white-space:pre">                     </span>end4'b1100: begin
<span style="white-space:pre">                     </span>led = 7'b1000110; en = 4'b0011;<span style="white-space:pre"> </span>//C
<span style="white-space:pre">                     </span>end4'b1101: begin
<span style="white-space:pre">                     </span>led = 7'b0100001; en = 4'b0010;<span style="white-space:pre"> </span>//d
<span style="white-space:pre">                     </span>end4'b1110: begin
<span style="white-space:pre">                     </span>led = 7'b0000110; en = 4'b0001;<span style="white-space:pre"> </span>//E
<span style="white-space:pre">                     </span>end4'b1111: begin
<span style="white-space:pre">                     </span>led = 7'b0001110; en = 4'b0000;<span style="white-space:pre"> </span>//F
<span style="white-space:pre">                     </span>endendcaseendmodule

测试文件:

`timescale 1ns / 1ps// Company:
// Engineer:
//
// Create Date:   16:20:01 11/06/2014
// Design Name:   code
// Module Name:   C:/Documents and Settings/LAB2/test.v
// Project Name:  LAB2
// Target Device:
// Tool versions:
// Description:
//
// Verilog Test Fixture created by ISE for module: code
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// module test;// Inputsreg [3:0] in;// Outputswire [6:0] led;wire [3:0] en;// Instantiate the Unit Under Test (UUT)code uut (.in(in), .led(led), .en(en));initial begin// Initialize Inputsin = 0;// Wait 100 ns for global reset to finish#50;in = 2;#50;in = 3;#50;in = 4;#50;in = 5;#50;in = 6;#50;in = 7;#50;in = 8;#50;in = 9;#50;in = 10;#50;in = 11;#50;in = 12;#50;in = 13;#50;in = 14;#50;in = 15;#50;// Add stimulus hereendendmodule

仿真结果:

很难看懂是吧,在这里附上开发板的实际效果图与引脚文件的编写(我用的是NEXYS 3 ——Spartan6  XC6LX16-CS324开发板)

NET "in[3]" LOC = "T5";
NET "in[2]" LOC = "V8";
NET "in[1]" LOC = "U8";
NET "in[0]" LOC = "N8";NET "en[3]" LOC = "P17";
NET "en[2]" LOC = "P18";
NET "en[1]" LOC = "N15";
NET "en[0]" LOC = "N16";NET "led[6]" LOC = "L14";
NET "led[5]" LOC = "N14";
NET "led[4]" LOC = "M14";
NET "led[3]" LOC = "U18";
NET "led[2]" LOC = "U17";
NET "led[1]" LOC = "T18";
NET "led[0]" LOC = "T17";

效果图如下(以7的显示为例):


注意:在控制7段译码管时0表示亮,1表示灭

2-2 Verilog 7 段译码器(静态显示)相关推荐

  1. 16进制7段译码器仿真

    一,实验内容 数字逻辑基础与Verilog设计教材书P114页实验4.34 16进制7段译码器仿真. 二,实验目的 让读者用case选择语句的时候注意输出(leds)矢量与段代码之间的关系,用四位的矢 ...

  2. Verilog语言乒乓球机7段译码器

    EDA 技术是现代电子设计领域的一门技术,它提供了基于计算机和信息技术的电路设计方法,不依托其他设计工具,仅以计算机为工具,在 EDA 软件上完成设计.编译.仿真. EDA 技术正以空前的发展速度和规 ...

  3. 十六进制七段LED显示译码器 静态显示

    译码器是一类多输入多输出组合逻辑电路器件,其可以分为变量译码和显示译码两类. 变量译码器一般是一种较少输入变为较多输出的器件,如3-8译码器,显示译码器用来将数值转换成要显示的对应的符号. 任务描述 ...

  4. 项目实例:模十状态机与7段译码器显示系统,Quartus环境(文末附程序,百度文库里的)

    写得有点混乱,但大致是对的 新建一个文件夹,名字任意 (不要有中文,以英文开头) 在文件夹里放v/vhd文件 ⚠点确定 程序复制进去,保存关闭 Quartus,启动 找你刚才创建的文件夹 怕同学们看不 ...

  5. c语言7段码静态显示 dula,51 数码管静态显示 [李园7舍_404]

    对于单片机的学习我一般不按照资料的顺序学习.我是照这个步骤将新知识掌握: 1.学习过程:阅读C语言程序,查看控制变量被赋予的值-->查看跟控制变量对应的相关的电路图-->被控制电路所接收到 ...

  6. 【Verilog】 3-8译码器

    功能: 实现3-8译码 Verilog代码: //行为级设计 `timescale 1ns / 1psmodule decoder3_8_01(en, addr, y);input [2:0] en, ...

  7. 显示译码器——Verilog HDL语言

    显示译码器 任务描述 相关知识 逻辑原理 共阴数码管及其电路 编程要求 源代码 任务描述 根据所学的组合逻辑及数字电路的知识完成一个16进制7段数码显示译码器的设计,验证满足一个16进制7段数码显示译 ...

  8. verilog——74HC4511七段显示译码器

    Verilog--74HC4511七段译码器 74HC4511的仿真 设计思路 采用行为级建模,根据74HC4511的功能表编程即可. 代码实现 设计模块 //filename:74HC4511.v ...

  9. 如何用Verilog HDL设计显示译码器

    Verilog HDL 设计显示译码器 逻辑原理: 7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数字系统中的数据处理和运算都是 ...

最新文章

  1. html无序列表的滚动效果,html无序列表标签和有序列表标签使用示例
  2. Maven项目加载JAR包
  3. java-IO操作简介
  4. python3 python2 字符串与hex互转区别
  5. 在Qt Designer中创建主Windows
  6. 关于 IAR 环境的一些使用 琐记
  7. java 集合中对象的排序 和去重
  8. 问题三十四:怎么用ray tracing画任意长方体(generalized box)
  9. MISRAC系列之 Rule 1.1-1.3 C语言环境
  10. 用origin画重叠柱状图 - 三维变化
  11. 新年寄语+从业感受+祝大家新年快乐~
  12. JavaScriptAPI编程_History对象(获取浏览历史)
  13. 【总结】浏览器 User-Agent 大全
  14. 2017年美国计算机科学,2017年U.S.News美国大学研究生计算机科学专业排名
  15. 一篇文章彻底清楚shellcode(精品)
  16. “石油无机论”颠覆对于石油的认知
  17. 蓝牙UART和PCM接口传输的信号 硬件接口
  18. 任务八 触发器的创建和使用
  19. 数据驱动的基本原理是什么?
  20. LINQ To XML 入门(3)

热门文章

  1. 【ARM裸板】Nand Flash编程
  2. 2015年俄罗斯跨境电商市场分析[转]
  3. 结对编程项目-四则运算(第一周阶段性总结)
  4. 长期失眠怎么办?这几款助眠好物分享给你
  5. 51单片机定时器实验
  6. 孩子叛逆期不想上学怎么办
  7. 社交网络大数据建模的框架探索
  8. Form notifyIcon 系统托盘图标闪动 气泡提示 弹窗
  9. 靠左居中 style
  10. 聆听机器人小冰发声有感