- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 VHDL与原理图层次型混合设计 【学习目标】 通过本章学习应掌握EDA技术中的模块化设计方法、利用VHDL与原理图自底向上和自顶向下混合设计方法、掌握层次型复杂电子系统设计流程。 6.1 自底向上混合设计 6.1.1 自底向上混合设计流程 自底向上(Botom—Up)的方法是一种传统的设计思想。设计者首先将各种基本单元,如各种逻辑门以及加法器、选通器等做成基本单元库,然后调用它们,逐级向上组合,直到设计出自己满意的系统为止。自底向上混合设计流程如图6.1所示。 6.1 自底向上混合设计 6.1.1 自底向上混合设计流程 6.1 自底向上混合设计 6.1.2 1位二进制全加器设计 一位二进制半加器真值表如表6.1所示。其中a、b是输入端,So是和、 co进位端。 表6.1 一位二进制半加器真值表 6.1 自底向上混合设计 1.建立工程 建立一个工程名为f_adder的工程文件,如图6.2所示: 6.1 自底向上混合设计 2.建立文件 建立三个VHDL文本文件,分别命名为h_adder.vhd(半加器文件名)、or_2.vhd(或门文件名)和f_adder.vhd(半加器文件名),并保存,如图6.3所示。 6.1 自底向上混合设计 3.输入代码并打包入库 在每个VHDL文件中输入相应的代码,并保存文件,将底层的半加器和或门电路打包入库,如图6.4所示 6.1 自底向上混合设计 (1)半加器的VHDL代码如下 : 【例6.1】 library ieee; use ieee.std_logic_1164.all; entity h_adder is port(a,b:in std_logic; co,so:out std_logic); end entity h_adder; architecture str of h_adder is signal abc:std_logic_vector(1 downto 0); begin abc=ab; process(abc) begin case abc is ---接下页 6.1 自底向上混合设计 when “00”=so=‘0’;co=‘0’; ---接上页 when 01=so=1;co=0; when 10=so=1;co=0; when 11=so=0;co=1; when others=null; end case; end process; end architecture str; 6.1 自底向上混合设计 or_2.vhd中输入代码如下: 【例6.2】 library ieee; use ieee.std_logic_1164.all; entity or_2 is port(a,b:in std_logic; c:out std_logic); end entity or_2; architecture str of or_2 is architecture str of or_2 is begin c=a or b; end architecture str; 仿真波形如图6.8所示 6.1 自底向上混合设计 4.顶层文件设计 顶层文件一般可以有两种方法来实现,一种是原理图,另一种是VHDL语言。 (1)原理图方法 ①建立原理图文件并添加模块元件 建立名为fg_adder的原理图文件,双击鼠标后在弹出对话框中的“Name”栏中选择生成的图元符号,如图6.9所示。将三个模块元件添加到原理图编辑器中,并放置引脚。 6.1 自底向上混合设计 ②连接各模块 根据全加器的原理完成电路的连接,并将其保存文件命名为fg_adder。如图6.10所示 6.1 自底向上混合设计 6.1 自底向上混合设计 【例6.3】 全加器的VHDL语言顶层代码 library ieee; use ieee.std_logic_1164.all; entity f_adder is port(ain,bin,cin:in std_logic; cout,sum:out std_logic); end entity f_adder; architecture str of f_adder is component h_adder is port(a,b:in std_logic; co,so:out std_logic); end component;
您可能关注的文档
最近下载
- 2024-2030年中国人才招聘行业运营模式及发展规划分析报告.docx
- 2022-2023学年山东省青岛市高一(上)期末化学试卷(含解析).pdf VIP
- 2024阜阳市公安局招聘警务辅助人员历年考试试题.docx VIP
- 2024年内部审计工作计划范本(6篇) .pdf VIP
- 李光浦-郑氏星案新诠.doc
- 绵阳东辰5升6考试题及答案.docx
- 中华人民共和国爱国主义教育法的精神.doc VIP
- 宣传品印刷工作(服务)方案的先进性、创新性-技术、经济、质量指标-风险分析等.docx VIP
- 中华人民共和国爱国主义教育法主题班会教案.docx VIP
- JTT 1180.10-2018 交通运输企业安全生产标准化建设基本规范第10部分:水路危险货物运输.pdf
文档评论(0)