- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章第二节D触发器电路、全加器
4.2 VHDL程序设计举例 目的 掌握VHDL程序的基本结构 掌握VHDL程序的设计特点 主要内容 DFF的VHDL描述 全加器的VHDL描述 数据类型 STD_LOGIC标准逻辑位数据类型 STD_LOGIC比BIT包含的内容丰富和完整 BIT:’0’、’1’ STD_LOGIC 库、程序包 std_logic、std_logic_vector: 定义在std_logic_1164.all程序包中,而此包由IEEE定义。 所以,使用到这两种数据类型时,需包含 library ieee; use ieee.std_logic_1164.all; 数据对象 SIGNAL 信号名: 数据类型 [:= 初始值] ; 区别: signal:描述实体内部节点,不定义输入输出方向,在结构体中作为一个数据的暂存器,进行赋值。 端口:描述实体与外界的接口 上升沿检测表达方式和信号属性 不完整条件语句与时序电路 if(clkevent and clk=1)then q1=d; end if; 由波形可见,Q的变化发生在clk的上升沿时刻D的取值。 clk=0时,Q值不变。 由图可见,当CLK=1时,Q随D变化而变化。 clk=0时,Q保持不变。 元件例化语句 元件例化语句:即将从前设计的实体当作本设计的一个元件,然后用VHDL语句将各元件之间的连接关系描述出来; COMPONENT 元件名 IS 【GENERIC (类属表);】 PORT(端口名表); END COMPONENT 元件名; 例化名:元件名 PORT MAP( [元件端口名=]连接端口名,…); [元件端口名=]连接端口名 其中,元件端口名是元件定义语句中的端口名表中已定义好的; 连接端口名是当前系统与准备接入的元件对应端口相连的通信端口; 端口名和当前系统的连接端口名的接口表达 名字关联:端口名和关联符号”=”必须存在 位置关联:只需列出连接端口 std_logic 标准位类型 std_logic_vector 标准一维数组 使用std_logic_vector 表示多通道端口或者总线。 使用std_logic_vector 时要注明其数组宽度: 如: B: out std_logic_vector(7 downto 0); downto 表示最左边为最高位,位数向右依次递减。 如: A:out std_logic_vector(1 to 4); to 表示最左边为最低位,位数向右递增。 前例中定义内部信号P为两个元素的std_logic_vector 一种计数器的设计 entity cnt4 is port(clk:in bit; Q:buffer integer range 15 downto 0); end; architecture bhv of cnt4 is begin process(clk) begin if clk’event and clk=‘1’ then Q=Q+1; end if; end process; end bhv; 数据对象:Buffer 在“=”的左右两边都出现Q,表明Q应具有输入和输出两种端口模式,同时它的输入特性应是反馈方式,即传输符号“=”的右边Q应该来自左边的Q的反馈。 BUFFER与INTOUT的区别在于buffer的输入来自反馈,所以这里将Q定义为buffer类型最为合适。 数据类型:integer 对应“+、-”的操作数必须定义为整数类型(integer)。 表达式:Q=Q+1;式中“Q”和“1”都是整数,满足“=”左右两边都是整数(类型相同),“+”左右两边都是整数的条件。 VHDL综合器要求必须使用“RANGE”句子为所定义的数限定范围,再根据所定义的范围来决定表示此信号或变量的二进制数的位数。 Q:buffer integer ranger 15 downto 0; 定义了Q的取值范围是0~15;可以用四位二进制数表示。 整数的表达式不加引号,如:1,0,25;而逻辑位的数据要加引号,如:’1’,’0’,”0”,”1111”。 自然数:natural:0~正整数; 正整数:positive:比自然数少个0; 另一种计数器表达方式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt4 is port(cl
您可能关注的文档
- 大学物理A2复习题2011.ppt
- 大学 AUTO ACD 完整 课件 第二章 AUTOCAD入门.ppt
- 大学物理习题册及解答_第二版_第四章_刚体的定轴转动.ppt
- 大学物理习题课_光学=zyh.ppt
- 大学物理期中试题答案.ppt
- 大学物理第五章 刚体力学2.ppt
- 大学物理练习题十四.ppt
- 大学生创业基础(李肖鸣)课后作业及答案【全对】.doc
- 大物实验思考题答案.doc
- 大学物理题六.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)