实验一 软件操作、译码器实现

 实验一 软件操作、译码器实现

一、实验目的

    1.熟悉译码器的工作原理。

    2.熟悉Quartus II仿真软件的基本操作,了解各种设计方法。

 

二、实验内容

    1、熟悉QuartusII软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、波形设计)

    2、用原理图和VHDL语言设计一个异或门,最后仿真验证。

    3.用原理图和VHDL语言设计一个3-8译码器,最后仿真验证。

    4.用VHDL语言设计模型机指令译码器,最后仿真验证。

 

三、实验方法

  1. 实验方法:

        1采用基于FPGA进行数字逻辑电路设计的方法。

        2采用的软件工具是QuartusII软件仿真平台。

 

  1. 实验步骤:
  1. 新建,编写源代码。

           (1).选择保存项和芯片类型:【File】-【new project wizard】-【next】(设置文件路径+设置project name)-【next】-【next】(设置Family=FLEX10K;name=EPF10K10TI144-4)-【next】-【finish】

           (2).新建:【file】-【new】(选择AHDL File)-【OK】

            (3).新建:【file】-【new】(选择Block Diagram/Schematic File)-【OK】

2、写好源代码,保存文件(文件名与工程名需保持一致)。

3、画好原理图,保存文件(文件名与VHDL文件名不能相同)

4、编译与调试。确定源代码文件为当前工程文件,点击【processing】-【start compilation】进行文件编译。编译结果无警告,文件编译成功。

4、波形仿真及验证。【file】-【new】(选择Vector Waveform File)-【OK】。按照程序所述插入节点(插入输入节点和输出节点)。(操作为:左键双击NAME下方框框 -【Node Finder】(设置Filter:Pins:all)-【list】)-【>>】-【ok】-【ok】)。按题目需求设置输入波形,点击保存按钮保存。

5、时序仿真或功能仿真。

    (1).时序仿真:

编译VHDL文件-选择.VWF波形文件-【Processing】-【Simulator Tool】(Simulation mode:选择Timing)-点击开始仿真按钮。

    (2).功能仿真

编译VHDL文件-选择.VWF波形文件-【Processing】-【Simulator Tool】(Simulation mode:选择Functional)-【Generate Funtional Silmulation Netlist】-点击开始仿真按钮。

6、查看RTL Viewer:【Tools】-【netlist viewer】-【RTL viewer】。

四、实验过程

1.异或门

  1. 原理图:

  1. 编译过程

a)源代码如图(VHDL设计)

b)编译、调试过程

c)结果分析及结论

    结果显示0 errors,0 warnings,VHDL文件满足题目要求。

  1. 波形仿真

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

b)波形仿真波形图

    时序仿真波形图:

功能仿真波形图:

c)结果分析及结论

对于时序仿真,存在时间延迟和冒险,反映了真实的情况

对于功能仿真:

0-10ns对应: 0⊕0=0 正确

10-20ns对应: 0⊕1=1 正确

20-30ns对应: 1⊕0=1 正确

20-30ns对应: 1⊕1=0 正确

  1. 查看RTL Viewer

 

2.3-8译码器

  1. 原理图:

  1. 编译过程

a)源代码如图(VHDL设计)

b)编译、调试过程

c)结果分析及结论

    结果显示0 errors,0 warnings,VHDL文件满足题目要求,并且添加了使能器功能。

  1. 波形仿真

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

b)波形仿真波形图

    时序仿真波形图:

功能仿真波形图:

c)结果分析及结论

对于时序仿真,存在时间延迟和冒险,反映了真实的情况

对于功能仿真:

0-10ns对应: 使能器EN为1, 000对应D0 正确

10-20ns对应:使能器EN为1, 100对应D4 正确

20-30ns对应:使能器EN为1, 010对应D2 正确

30-40ns对应:使能器EN为1, 110对应D6 正确

40-50ns对应:使能器EN为1, 001对应D1 正确

50-60ns对应:使能器EN为1, 101对应D5 正确

60-70ns对应:使能器EN为1, 011对应D3 正确

70-80ns对应:使能器EN为1, 111对应D7 正确

80-90ns对应:使能器EN为0,对应0 正确

90-100ns对应:使能器EN为0,对应0 正确

  1.   查看RTL Viewer

 

3. 模型机指令译码器

  1. 编译过程

a)源代码如图(VHDL设计)

b)编译、调试过程

c)结果分析及结论

    结果显示0 errors,0 warnings,VHDL文件满足题目要求。

  1. 波形仿真

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

b)波形仿真波形图

    时序仿真波形图:

功能仿真波形图:

c)结果分析及结论

对于时序仿真,存在时间延迟和冒险,反映了真实的情况

对于功能仿真:

0-10ns对应: 使能器EN为1, 11110010对应MOVA 正确

10-20ns对应: 使能器EN为1, 11111110对应MOVB 正确

20-30ns对应: 使能器EN为1, 11110011对应MOVC 正确

30-40ns对应: 使能器EN为1, 11111111对应MOVB 正确

40-50ns对应: 使能器EN为1, 10010100对应ADD 正确

50-60ns对应: 使能器EN为1, 01100011 对应SUB 正确

60-70ns对应: 使能器EN为1, 10110000对应OR 正确

70-80ns对应: 使能器EN为1, 01010000对应NOT 正确

80-90ns对应: 使能器EN为1, 10100000对应RSR 正确

90-100ns对应: 使能器EN为1,10100011 对应RSL正确

100-110ns对应: 使能器EN为1, 00110000对应JMP 正确

110-120ns对应: 使能器EN为1, 00110001对应JZ 正确

120-130ns对应: 使能器EN为1, 00110010对应JC 正确

130-140ns对应: 使能器EN为1, 00100000对应IN 正确

140-150ns对应: 使能器EN为1, 01000000对应OUT正确

150-160ns对应: 使能器EN为1, 01110000对应NOP 正确

 

4  查看RTL Viewer

 

五、实验结论与心得

经过本次实验,我对Quartus II仿真软件有了更好的理解和运用,对VHDL语言的使用有了初步的掌握,熟悉了创建工程文件、软件编译操作、原理图制作、仿真波形模拟等操作。

为了更好地运用3-8译码器,熟悉其操作,在题目要求之外还另外添加了使能器。对比其原理图和RTL视图,对使能器有了更好的理解。

在实验过程中,在写好模型机指令编译器的VHDL语言后,进行仿真波形模拟时,发现MOVA指令与MOVB、MOVC操作会同时进行,则返回查看VDHL语言,将MOVA <=EN AND IR(7) AND IR(6) AND IR(5) AND IR(4) AND  (NOT(IR(3) AND IR(2) AND IR(1) AND IR(0))) ;改为MOVA <=EN AND IR(7) AND IR(6) AND IR(5) AND IR(4) AND  (NOT(IR(3) AND IR(2)) AND NOT(IR(1) AND IR(0))),再次做仿真波形模拟,修改成功,各指令之间不再冲突。

六、思考题

1.在日常生活中,我们哪些场所会用到译码器?

    用于舞台后台的舞台器材操作。

 

2. 总结 VHDL 语言描述译码器电路的方法和常用语句。

    VHDL语言的基本结构由库和程序包、实体、结构体组成,描述风格有行为描述、数据流描述、结构描述。VHDL语句分为两类,一类是并行描述语句(该语句的执行与书写的顺序无关,总是同时被执行),另一类是顺序描述语句(从仿真的角度看,该语句是顺序执行的),常用语句有变量赋值语句、IF语句、信号代入语句等。

 

3. 比较原理图方式和 VHDL 方式设计组合逻辑电路的方法、步骤和优缺点。

    原理图通过利用现有的逻辑门构造,通过连线连接各个逻辑门,优点有更直观,缺点是在复杂系统中较乱。

    VHDL语言采用语句构造电路,通过编译实现,优点有适用于复杂电路的情况,缺点是不够直观。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是蒸饺吖~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值