前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字电路实验(一)——译码器

数字电路实验(一)——译码器

作者头像
全栈程序员站长
发布2022-09-14 10:36:16
7490
发布2022-09-14 10:36:16
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1、实验步骤: 异或门过程

1、 新建,编写源代码。 (1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路径+设置project name为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验一\异或门】)-【next】(设置文件名【gg】)-【next】(设置芯片类型为【cyclone-EP1CT144C8】)-【finish】 (2).新建:【file】-【new】(【design file-VHDL file】)-【OK】 2、写好源代码,保存文件(gg.vhd)。 3、编译与调试。确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译。编译结果有一个警告,文件编译成功。 4、波形仿真及验证。新建一个vector waveform file。按照程序所述插入a,b,c三个节点(a、b为输入节点,c为输出节点)。(操作为:右击 -【insert】-【insert node or bus】-【node finder】(pins=all;【list】)-【>>】-【ok】-【ok】)。任意设置a,b的输入波形…点击保存按钮保存。(操作为:点击name(如:en))-右击-【value】-【count】(如设置binary;start value=0;end value=1;count every=10ns),同理设置name b(如0,1,5),保存)。然后【start simulation】,出name C的输出图。 5、功能仿真,即没有延迟的仿真,仅用来检测思路是否正确。

以上是异或门过程,下面是三八译码器过程

1、新建,编写源代码。 (1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路径+设置project name为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验一\指令译码器5(success)】)-【next】(设置文件名【gg】)-【next】(设置芯片类型为【cyclone-EP1CT144C8】)-【finish】 (2).新建:【file】-【new】(【design file-VHDL file】)-【OK】 2、写好源代码,保存文件(gg.vhd)。 3、编译与调试。确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译。编译结果有一个警告,文件编译成功。 4、波形仿真及验证。新建一个vector waveform file。按照程序所述插入en,ir,our三个节点(en、ir为输入节点,our为输出节点)。(操作为:右击 -【insert】-【insert node or bus】-【node finder】(pins=all;【list】)-【>>】-【ok】-【ok】)。任意设置en,ir的输入波形…点击保存按钮保存。(操作为:点击name(如:en))-右击-【value】-【count】(如设置binary;start value=0;end value=1;count every=10ns),同理设置name ir(如000,1,10),保存)。然后【start simulation】,出name C的输出图。 5、功能仿真,即没有延迟的仿真,仅用来检测思路是否正确。

以上是三八译码器的过程,以下为指令译码器的过程

1、新建,编写源代码。 (1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路径+设置project name为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验一\指令译码器5(success)】)-【next】(设置文件名【gg】)-【next】(设置芯片类型为【cyclone-EP1CT144C8】)-【finish】 (2).新建:【file】-【new】(【design file-VHDL file】)-【OK】 2、写好源代码,保存文件(gg.vhd)。 3、编译与调试。确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译。编译结果有一个警告,文件编译成功。 4、波形仿真及验证。新建一个vector waveform file。按照程序所述插入en,a, mova,movb,movc,add,sub,and0,not0,shr,shl,jmp,jz,jc,in0,out0,nop,halt十八个节点(en、a为输入节点,mova,movb,movc,add,sub,and0,not0,shr,shl,jmp,jz,jc,in0,out0,nop,halt为输出节点)。(操作为:右击 -【insert】-【insert node or bus】-【node finder】(pins=all;【list】)-【>>】-【ok】-【ok】)。任意设置en,a的输入波形…点击保存按钮保存。(操作为:点击name(如:en))-右击-【value】-【count】(如设置binary;start value=0;end value=1;count every=10ns),同理设置name ir(如0000000,1,10),保存)。然后【start simulation】,出name C的输出图。 5、功能仿真,即没有延迟的仿真,仅用来检测思路是否正确。

2、实验过程

a)异或门源代码如图(VHDL设计)

在这里插入图片描述
在这里插入图片描述

三八译码器源代码如图(VHDL设计)

在这里插入图片描述
在这里插入图片描述

指令译码器源代码如图(VHDL设计)

在这里插入图片描述
在这里插入图片描述

b)异或门原理图

在这里插入图片描述
在这里插入图片描述

三八译码器原理图

在这里插入图片描述
在这里插入图片描述

指令译码器原理图

在这里插入图片描述
在这里插入图片描述

c)编译、调试过程 编译、调试过程中没有太多的错误。但代码优化了好几次。 d)结果分析及结论 由于编译、调试过程中没有出现太多的错误,所以结果应该是: 异或门: 输入00时输出0 输入01时输出1 输入10时输出1 输入11时输出0 三八译码器: 当使能为1时,ir: 输入000时输出10000000,输入100时输出00001000 输入001时输出01000000,输入101时输出00000100 输入010时输出00100000,输入110时输出00000010 输入011时输出00010000,输入111时输出00000001 当使能为0时,恒输出00000000 指令译码器: 当使能为1时,ir为 0011 R1 R2输出mova=1其他为0 0011 11 R2输出movb=1其他为0 0011 R1 11输出movc=1其他为0 1001 R1 R2输出add=1其他为0 0110 R1 R2输出sub=1其他为0 1110 R1 R2输出and0=1其他为0 0101 R1 XX输出not0=1其他为0 1010 R1 00输出shr=1其他为0 1010 R1 11输出shl=1其他为0 0001 00 00输出jmp=1其他为0 0001 00 01输出jz=1其他为0 0001 00 10输出jc=1其他为0 0010 R1 XX输出in0=1其他为0 0100 R1 XX输出out0=1其他为0 0111 00 00输出nop=1其他为0 1000 00 00输出halt=1其他为0 当使能为0时,恒输出0

3、波形仿真 异或门 a)波形仿真过程(详见实验步骤)

在这里插入图片描述
在这里插入图片描述

b)波形仿真波形图

在这里插入图片描述
在这里插入图片描述

c)结果分析及结论 0-5ns:输入端00,输出结果为0,正确 5-10ns:输入端01,输出结果为1,正确 10-15ns:输入端10,输出结果为1,正确 15-20ns:输入端11,输出结果为0,正确 代码正确

三八译码器

a)波形仿真过程(详见实验步骤)

在这里插入图片描述
在这里插入图片描述

b)波形仿真波形图

在这里插入图片描述
在这里插入图片描述

c)结果分析及结论 0-20ns:使能端en为0,输出结果为00000000,正确 20-40ns:使能端en为1,输出结果为实验过程中结果分析,正确 代码正确

指令译码器

a)波形仿真过程(详见实验步骤)

在这里插入图片描述
在这里插入图片描述

b)波形仿真波形图

在这里插入图片描述
在这里插入图片描述

c)结果分析及结论 0-128ns:使能端en为0,输出结果全为0,正确 128-256ns:使能端en为1,输出结果符合实验过程中结果分析,正确 代码正确

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158028.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档