当前位置:   article > 正文

hnu 数字电路 实验1.2 实现3-8译码器_38译码器仿真波形图分析

38译码器仿真波形图分析

用逻辑图和VHDL语言设计一个3-8译码器

① 先画出3-8译码器的逻辑图
在这里插入图片描述

② 打开Quartus II,新建工程,工程命名为yi_ma_38,开始编写源代码。

③ 写好源代码,保存文件。(如图为源代码,VHDL数据流实现)

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
entity yi_ma_38 is
port( A0,A1,A2: in std_logic;
  C0,C1,C2,C3,C4,C5,C6,C7: out std_logic);
end yi_ma_38;

architecture dataflow_1 of yi_ma_38 is
signal A0_n,A1_n,A2_n,B0,B1,B2,B3:std_logic;
begin
   A0_n <= not A0;
   A1_n <= not A1;
   A2_n <= not A2;
   B3 <= A2_n and A1_n;
   B2 <= A2 and A1_n;
   B1 <= A2_n and A1;
   B0 <= A2 and A1;
   C7 <= B0 and A0;
   C6 <= B1 and A0;
   C5 <= B2 and A0;
   C4 <= B3 and A0;
   C3 <= B0 and A0_n;
   C2 <= B1 and A0_n;
   C1 <= B2 and A0_n;
   C0 <= B3 and A0_n;
end dataflow_1;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

④ 编译与调试。确保顶层实现的命名和工程名一致。编译成功。
在这里插入图片描述

⑤ 查看RTL视图。
在这里插入图片描述

⑥ 结果分析及结论。
如RTL图所示,3-8译码器共A0,A1,A2三个输入,经过B0,B1,B2,B3三个与门和八个与门,完成C0-C7八个输出,完成3-8译码器的功能,和逻辑图相符,初步判断没有问题。

⑦ 功能仿真的波形及验证。
a.新建波形文件。将3-8译码器的8个输入000-111按顺序依次输入到波形文件Waveform1.vwf中。
b.生成网表,功能仿真。生成网表成功。
在这里插入图片描述

功能仿真成功。功能仿真波形图如图所示:
在这里插入图片描述

c.结果分析及结论
0-10.0ns,A0=0,A1=0,A2=0,C0=A0+A1+A2=1,其余C为0,仿真无误。
10.0-20.0ns,A0=0,A1=0,A2=1,C1=A0+A1+A2=1,其余C为0,仿真无误。
20.0-30.0ns,A0=0,A1=1,A2=0,C2=A0+A1+A2=1,其余C为0,仿真无误。
30.0-40.0ns,A0=0,A1=1,A2=1,C3=A0+A1+A2=1,其余C为0,仿真无误。
40.0-50.0ns,A0=1,A1=0,A2=0,C4=A0+A1+A2=1,其余C为0,仿真无误。
50.0-60.0ns,A0=1,A1=0,A2=1,C5=A0+A1+A2=1,其余C为0,仿真无误。
60.0-70.0ns,A0=1,A1=1,A2=0,C6=A0+A1+A2=1,其余C为0,仿真无误。
70.0-80.0ns,A0=1,A1=1,A2=1,C7=A0+A1+A2=1,其余C为0,仿真无误。
⑧ 实现时序仿真。
a.时序仿真成功。
在这里插入图片描述

b.时序仿真波形图如下:
在这里插入图片描述

c.结果分析及结论
0-10.0ns,A0=0,A1=0,A2=0,C0=A0+A1+A2=1,其余C为0,仿真无误。
10.0-18.07ns,C1=A0+A1+A2=1,由于有延时,仍旧显示C0=A0+A1+A2=1,C1和其余C为0。
18.07-20.0ns,A0=0,A1=0,A2=1,C1=A0+A1+A2=1,其余C为0,仿真无误。
20.0-28.52ns,C2=A0+A1+A2=1,由于有延时,仍旧显示C1=++=1,C2和其余C为0。
28.52-29.09ns,C2=A0+A1+A2=1,但由于延误,显示C1=A0+A1+A2=1的情况,出现冒险。
29.09-30.0ns,A0=0,A1=1,A2=0,C2=++=1,其余C为0,仿真无误。
30.0-38.97ns,C3=A0+A1+A2=1,由于有延时,仍旧显示C2=A0+A1+A2=1,C3和其余C为0。
38.12-40.0ns,A0=0,A1=1,A2=1,C3=A0+A1+A2=1,其余C为0,仿真无误。
40.0-48.01ns,C4=A0+A1+A2=1,由于有延时,仍旧显示C3=A0+A1+A2=1,C4和其余C为0。
48.01-49.42ns,C4=A0+A1+A2=1,但由于延误,显示C6=A0+A1+A2=1的情况,出现冒险。
49.42-50.0ns,A0=1,A1=0,A2=0,C4=A0+A1+A2=1,其余C为0,仿真无误。
50.0-57.89ns,C5=A0+A1+A2=1,由于有延时,仍旧显示C4=A0+A1+A2=1,C5和其余C为0。
57.89-60.0ns,A0=1,A1=0,A2=1,C5=A0+A1+A2=1,其余C为0,仿真无误。
60.0-68.34ns,C6=A0+A1+A2=1,由于有延时,仍旧显示C5=A0+A1+A2=1,C6和其余C为0。
68.34-69.19ns,C6=A0+A1+A2=1,但由于延误,显示C4=A0+A1+A2=1的情况,出现冒险。
69.19-70.0ns,A0=1,A1=1,A2=0,C6=A0+A1+A2=1,其余C为0,仿真无误。
70.0-78.51ns,C7=A0+A1+A2=1,由于有延时,仍旧显示C6=A0+A1+A2=1,C7和其余C为0。
78.51-80.0ns,A0=1,A1=1,A2=1,C7=A0+A1+A2=1,其余C为0,仿真无误。
80.0-87.83ns,C0=A0+A1+A2=1,由于有延时,仍旧显示C0=A0+A1+A2=1,C8和其余C为0。
87.83-89.52ns,C0=A0+A1+A2=1,但由于延误,显示C2=A0+A1+A2=1的情况,出现冒险。
89.52-ns,A0=0,A1=0,A2=0,C0=A0+A1+A2=1,其余C为0,仿真无误。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/707873
推荐阅读
相关标签
  

闽ICP备14008679号