3-8 译码器的设计

摘要:
3-8根据解码器真值表创建项目中真值表的定义编译Verilog程序模块my3 _8;输入a;输入b;输入c;outputreg[7:0]输出;//定义8位位宽。always块中的任何赋值都必须定义为reg类型。设置引脚,SW0~SW2对应a~c,LED7~0对应out,单击完全编译按钮,打开电源链接开发板,单击编程器,然后烧录。由系统生成的软件文件写入开发板。

 3-8 译码器真值表

3-8 译码器的设计第1张

 创建工程

3-8 译码器的设计第2张

按照真值表定义编写Verilog程序

3-8 译码器的设计第3张

module my3_8(a,b,c,out);
input a;
input b;
input c;

output reg [7:0]out;//定义一个8位的位宽.只要是在always块中进行赋值的都要定义为reg类型。
always@(a,b,c)
begin
case ({a,b,c})//{}位为位拼接,将信号拼接成一个三位的信号
3'b000: out=8'b0000_0001;
3'b001: out=8'b0000_0010;
3'b010: out=8'b0000_0100;
3'b011: out=8'b0000_1000;
3'b100: out=8'b0001_0000;
3'b101: out=8'b0010_0000;
3'b110: out=8'b0100_0000;
3'b111: out=8'b1000_0000;
endcase
end
endmodule

 

编写testbench信号

3-8 译码器的设计第4张

`timescale 1ns/1ns
module my3_8_tb;
reg a,b,c;
wire [7:0] out ;

my3_8 u1(
.a(a),
.b(b),
.c(c),
.out(out));
initial begin
a=0;b=0;c=0;
#200;
a=0;b=0;c=1;
#200;
a=0;b=1;c=0;
#200;
a=0;b=1;c=1;
#200;
a=1;b=0;c=0;
#200;
a=1;b=0;c=1;
#200;
a=1;b=1;c=0;
#200;
a=1;b=1;c=1;
#200;
$stop;
end

endmodule

将testbench文件链接到仿真工具

3-8 译码器的设计第5张

点击 前仿3-8 译码器的设计第6张按钮进行仿真验证,仿真结果波形 如下, 与真值表对照发现波形是对的,说明 设计没有问题

3-8 译码器的设计第7张

 点击全编译3-8 译码器的设计第8张按钮后点击3-8 译码器的设计第9张进行后仿,后仿结果如下

3-8 译码器的设计第10张

至此,整个3-8译码器就设计完成了,下面既需要对照开发板进行管脚设置和程序下载。 

设置管脚,SW0~SW2对应a~c,LED7~0对应out【7:0】

3-8 译码器的设计第11张

点击全编译按钮后,上电链接开发板,点击programmer,将系统生成的.sof文件烧写到开发板中。

 3-8 译码器的设计第12张

实验现象:按顺序波动拨动拨码开关,灯会按真值表的输出亮。

3-8 译码器的设计第13张

3-8 译码器的设计第14张

3-8 译码器的设计第15张

3-8 译码器的设计第16张

3-8 译码器的设计第17张

3-8 译码器的设计第18张

3-8 译码器的设计第19张

 3-8 译码器的设计第20张

免责声明:文章转载自《3-8 译码器的设计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇转:Emmet 学习之路grub rescue问题修复下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

SQL获取当天0点和23点59分方法

SELECTconvert+'00:00:00'--是将当前的时间加上小时分秒组成字符型的时间。SELECTcast--是将字符转成日期型的数据并输出。...

JRebel 6 破解版及使用方法

2.解压下载的jrebel6.0.0-crack.zip、jrebel6.0 jar包和破解文件。假设文件在D:/jrebel步骤:1中解压缩。eclipse下载jrebe插件,可以在市场上下载。2.打开eclipse的窗口首选项jrebel,打开优势选项卡,并将jar包的路径指向D:/jrebel/jrebel.jar。用CMD打开DOS窗口,输入cd/d...

5G中的频点计算及实例分析

相关图表:关于∏SSB的频域位置SSREF和GSCN之间的关系,请参见下表:注:SCSspacedchannelrasterisM=3的工作频带的默认值。同步网格是5G的第一个概念,旨在加快终端扫描SSB的频率位置。GSCN通常用于在SA联网模式下加速时频同步,以继续解释MIB和SIB1消息;对于NSA来说,这是不必要的。RRC重配置消息已经携带了NR的SS...

Win10阻止电脑关机时弹出正在关闭应用的方法及恢复

当计算机上安装了Windows 10时,当我们在未完成所有运行程序的情况下关闭计算机时,将弹出n个应用程序正在关闭并关闭的提示。第一步是创建一个自动关闭应用程序并将其添加到注册表的注册表文件。这可以解决在Windows 10系统计算机关闭时弹出提示关闭n个应用程序并关闭的问题。...

Ansible-Tower--安装配置及破解

Ansible-Tower是将ansible的指令界面化,简明直观,简单易用。2)Ansibke-tower其实就是一个图形化的任务调度,复杂服务部署,IT自动化的一个管理平台,属于发布配置管理系统,支持Api及界面操作,Django编写。3)Ansible-tower可以通过界面从github拉取最新playbook实施服务部署,提高生产效率。...

GitLab的基础使用-创建用户(users)

否则,将追究法律责任。1、 以管理员身份登录GitLab的WebUI,并创建用户1˃使用管理员登录GitLab。管理员登录成功后,点击下图所示的小扳手,然后点击进入管理员的Dashboard界面。如果时间间隔过长,可以要求运维人员重置密码。操作和维护人员可以参考第一步来重置用户的密码。实际上,您也可以通过参考第三步中的方法找到自己的密码,而不必麻烦操作和维护...