已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第4 4章章 VHDLVHDL设计初步设计初步 什么是VHDLVHDL? Very high speed integrated Hardware Description Language (VHDL) y是IEEE、工业标准硬件描述语言硬件描述语言 y用语言的方式语言的方式而非图形非图形等方式描述硬件电路硬件电路 x容易修改 x容易保存 【例4-1】 ENTITY ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITYEND ENTITY mux21a ; ARCHITECTUREARCHITECTURE one OF mux21a IS BEGIN y ; -表示打开打开设计库 USE ALL ; -允许使用设计设计 库库中程序包程序包中的所有内容 4. 上升沿检测上升沿检测表式和信号属性函数信号属性函数EVENT 关键词EVENT是信号属性信号属性,VHDL通过以下表式来测定 某信号的跳变边沿跳变边沿: EVENTEVENT 5. 不完整条件语句条件语句与时序电路时序电路 【例4-7】 ENTITY COMP_BAD IS PORT( a1 : IN BIT; b1 : IN BIT; q1 : OUT BIT ); END COMP_BAD; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 b1 THEN q1 b1 THEN q1 IS When = ; When = ; . END CASE ; 2. 标准逻辑矢量标准逻辑矢量数据类型STD_LOGIC_VECTOR 3. 并置操作符并置操作符 SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ; . a so so so so so so so so NULL ; WHEN OTHERS = NULL ; END CASE ; END PROCESS ; END ARCHITECTURE fh1 ; 【例】 . -半加器描述半加器描述(3) SIGNAL abc , cso : STD_LOGIC_VECTOR(1 DOWNTO 0 ); BEGIN abc cso cso cso cso ain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin,co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1; 26 19 4.3.3 全加器描述和例化语句 元件例化语句元件例化语句由两部分组成: (1)第一部分是对一个现成的设计实体现成的设计实体定义为一个元件元件, 功能是对待调用的元件待调用的元件作出调用声明。 COMPONENT 元件名 PORT (端口名表) ; END COMPONENT 元件名 ; (2)元件例化语句的第二部分则是此元件与当前设计实体此元件与当前设计实体( 顶层文件)中元件间及端口的连接说明连接说明。 例化名: 元件名 PORT MAP( 端口名 = 连接端口名,.); 25 【例4-20】 ENTITY CNT4 IS PORT(CLK:IN BIT ; Q:BUFFER INTEGER RANGE 15 DOWNTO 0); END CNT4; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = ,0) ; -计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数 IF CQI 0);-大于9,计数值清零 END IF; END IF; END IF; IF CQI = “1001“ THEN COUT X) 为了简化表达才使用短语“(OTHERS=XOTHERS=X)”,这是一个省略赋省略赋 值操作符值操作符,它可以在较多位的位矢量赋值中作省略化省略化的赋值, 如以下语句: SIGNALSIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLEVARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0 ); a1 := := (OTHERS = 0 ) ; 等同于d1= “00000”; a1:= := “0000000000000000” 这种表述与位矢量长度位矢量长度无关,优点在于给大的位矢量赋值时简 化了描述。 4.5.2 程序分析 图4-14 例4-22的RTL电路(Synplify综合) 图4-15 例4-22的工作时序 4.5.3 含并行置位的移位寄存器设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITYENTITY SHFRT IS - 8 8位右移寄存器位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC ); END SHFRT; ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS (CLK, LOAD) VARIABLE REG8:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THENIF CLKEVENT AND CLK = 1 THEN IF LOAD = 1 THENIF LOAD = 1 THEN - 装载新数据装载新数据 REG8:= DINREG8:= DIN; ELSE REG8(6 DOWNTO 0):= REG8(7 DOWNTO 1)REG8(6 DOWNTO 0):= REG8(7 DOWNTO 1);右移右移 END IF; END IF; QB = REG8(0); - 输出最低位 END PROCESS; END behav; 工作时序图 (1)在第一个时钟到来时,LOAD恰为高电平,此时DIN口上 的8位数据9A,即10011010,被锁入REG8中。 (2)第二个时钟,以及以后的时钟信号都是移位时钟。在在第 一个执行并行数据加载的时钟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中毒窒息事故应急处置方案演练(一)
- 2025年污水处理工(高级工)职业技能鉴定考试题库及答案
- 201年冷库液氨泄漏事故应急救援演练方案
- 防恐防暴应急演练方案
- 宠物疾病诊断与干细胞AI治疗策略
- 大数据交易所运维面试准备
- 互联网公司数据运营战略规划
- 面试公关经理过往项目成功失败经验提问
- 中级造纸工年度工作总结暨来年规划
- 建筑结构设计工程师职业素养提升
- 《数据相关性分析》课件
- 安静主题班会课件
- 手术室患者体位管理
- 四川省绵阳市2025届高三第三次诊断性考试政治试卷(含答案)
- 年会策划方案(中国好声音)小品剧本
- 《电力电子技术》课程标准(含课程思政元素)
- 旅行社安全管理制度
- 2025-2030中国水电行业现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2024年上海中考数学一模各区18、24、25试题及答案
- 五常大米香华夏课件-《人文与社会》六年级上册黑教版
- 七年级地理上册第一二章单元综合测试题
评论
0/150
提交评论