EDA技术与CPLDFPGA开发应用简明教程2-4译码器教程.doc

EDA技术与CPLDFPGA开发应用简明教程2-4译码器教程.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内蒙古工业大学信息工程学院 实 验 报 告 课程名称:实验类型: 验证性□ 综合性□ 设计性实验室名称: 班级: 学号:姓名:: 实验日期: 实验一 MAX+PLUSⅡ软件的使用 实验目的: 学习VHDL语言的基本指令及编程方法。 熟悉在PC机上运用MAX+PLUSⅡ软件和EPLD进行电路设计的设计和仿真过程。 实验设备:PC机 实验原理 软件操作方法见第五章。 组合逻辑电路的设计。 原理图输入法。写出2-4译码器的真值表,根据真值表,从Prim库中调出元件做出电路原理图。 VHDL输入法。程序应包括库说明语句、实体说明、构造体说明,可用IF语句(还可选用其它语句)语句实现2-4译码器。 时序逻辑电路的设计。 原理图输入法。参照数字逻辑电路中学到的知识,时序逻辑电路的设计分为以下几步:画出状态转换图;状态分配和化简;列出状态方程和输出方程;选择触发器(例:选择D触发器,Prim库中的DFF),做电路原理图。之后按照第五章的步骤进行编译和仿真。 VHDL输入法。画出状态转换图,用VHDL语言描述该状态机,之后按照第五章的步骤进行编译和仿真。 实验内容: 设计一个2-4译码器,并验证其功能。 用原理图输入法设计,并仿真设计结果。 用VHDL语言进行设计,并仿真设计结果。 实验报告要求: 写出VHDL语言源程序,并画出仿真得到的时序波形图。 程序: library ieee; use ieee.std_logic_1164.all; entity decoder2_4 is port(a,b,g1,g2a,g2b:in std_logic; y:out std_logic_vector(3 downto 0)); end decoder2_4; architecture rtl OF decoder2_4 is signal indata:std_logic_vector(1 downto 0); begin indata=ba; process(indata,g1,g2a,g2b) begin if(g1=1 and g2a=0 and g2b=0) then case indata is when 00=y=1110; when 01=y=1101; when 10=y=1011; when 11=y=0111; when others=y=XXXX; end case; else y=1111; end if; end process; end rtl; 写出2-4译码器除采用IF语句外,还可采用什么语句实现。 (1)使用条件选择IF ELSEIF语句; (2)使用PROCESS语句; (3)使用SLL逻辑运算符。 写出对设计输入方法的优略心得。 利用EDA开发工具进行组合逻辑电路的设计,采用自顶向下的设计方法,需要注意很多细节性的问题。本实验就是典型的先总后分的的自顶向下结构设计,符合EDA设计的基本思想,采用了简单的when语句,将所有情况一一罗列即可,但是此设计方法适用于简单的程序,对于复杂程序则使用起来会很繁琐,不建议采用。 实验二 组合逻辑电路的设计 实验目的: 掌握用VHDL语言和EPLD进行组合逻辑电路的设计方法。 加深对EPLD设计全过程的理解。 掌握组合逻辑电路的静态测试方法。 实验设备: PC机 EDA实验箱(主芯片是ALTERA EPM7128SLC84-15)。 实验内容: 用VHDL语言输入法设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1;反之为0。 实验报告要求: 程序清单: library ieee; use ieee.std_logic_1164.all; entity round is port(x:in std_logic_vector(3 downto 0); y:out bit); end round; architecture rounding of round is Begin process(x) Begin case x is when 0000=y=0; when 0001=y=0; when 0010=y=0; when 0011=y=0; w

文档评论(0)

taotao0c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档