(精品)EDA技术实用教程第4章.ppt
《(精品)EDA技术实用教程第4章.ppt》由会员分享,可在线阅读,更多相关《(精品)EDA技术实用教程第4章.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、EDA 技术实用教程技术实用教程第第 4 4 章章 VHDL设计初步设计初步4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-1 mux21a实体实体 4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-2 mux21a结构体结构体 4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例例4-1】ENTITY mux21a IS
2、 PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b ;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例例4-2】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF
3、mux21a IS SIGNAL d,e:BIT;BEGINd=a AND(NOT S);e=b AND s;y=d OR e ;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例例4-3】ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELS
4、E y=b;END IF;END PROCESS;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-3 mux21a功能时序波形功能时序波形 4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明【例例4-4】ENTITY e_name IS PORT(p_name:port_m data_type;.p_namei:port_mi data_type);END ENTITY e_na
5、me;1.1.实体表达实体表达 2.2.实体名实体名 3.3.端口语句和端口信号名端口语句和端口信号名 4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 4.4.端口模式端口模式 IN IN 输入端口,定义的通道为单向只读模式输入端口,定义的通道为单向只读模式 OUT OUT 输出端口,定义的通道为单向输出模式输出端口,定义的通道为单向输出模式 INOUT INOUT 定义的通道确定为输入输出双向端口定义的通道确定为输入输出双向端口 BUFFER BUFFER 缓冲端口,其功能与缓冲端口,其功能与INOUTINO
6、UT类似类似 4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 5.5.数据类型数据类型 6.6.结构体表达结构体表达 【例例4-5】ARCHITECTURE arch_name OF e_name IS 说明语句说明语句BEGIN (功能描述语句功能描述语句)END ARCHITECTURE arch_name;4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 7.7.赋值符号和数据比较符号赋值符号和数据比较符号 赋值符赋值符 “
7、=”表式中的等号表式中的等号“=”没有赋值的含义,只是一种数据比较符号。没有赋值的含义,只是一种数据比较符号。IF a THEN.-注意,注意,a的数据类型必须是的数据类型必须是boolean IF(s1=0)AND(s2=1)OR(cb+1)THEN.4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 8.8.逻辑操作符逻辑操作符 AND、OR、NOT 9.9.条件语句条件语句 IF_THEN_ELSE IF语句必须以语句语句必须以语句 “END IF;”结束结束 4.1 多路选择器的多路选择器的VHDL描述描述
8、 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 10.10.WHEN_ELSEWHEN_ELSE条件信号赋值语句条件信号赋值语句 赋值目标赋值目标=表达式表达式 WHEN 赋值条件赋值条件 ELSE 表达式表达式 WHEN 赋值条件赋值条件 ELSE .表达式表达式 ;z =a WHEN p1=1 ELSE b WHEN p2=1 ELSE c ;4.1 多路选择器的多路选择器的VHDL描述描述 K KX康芯科技康芯科技4.1.2 相关语句结构和语法说明相关语句结构和语法说明 11.11.进程语句和顺序语句进程语句和顺序语句 在在一一个个结结构构体体中中可可
9、以以包包含含任任意意个个进进程程语语句句结结构构,所所有有的的进进程程语语句句都都是是并并行行语语句句,而而由由任任一一进进程程PROCESS引引导导的的语语句句(包包含含在在其其中的语句)结构属于顺序语句。中的语句)结构属于顺序语句。12.12.文件取名和存盘文件取名和存盘 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.1 D触发器的触发器的VHDL描述描述 K KX康芯科技康芯科技【例例4-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 IS PORT(CLK:IN STD_LOGIC;D:IN STD_
10、LOGIC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1:STD_LOGIC;-类似于在芯片内部定义一个数据的暂存节点类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS(CLK,Q1)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=D;END IF;END PROCESS;Q=Q1;-将内部的暂存数据向端口输出(双横线将内部的暂存数据向端口输出(双横线-是注释符号)是注释符号)END bhv;图4-4 D触发器图图4-4 D触发器触发器K KX康芯科技康芯科技4.2 寄存器描述及其寄
11、存器描述及其VHDL语言现象语言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器1.1.标准逻辑位数据类型标准逻辑位数据类型STD_LOGICSTD_LOGIC BIT数据类型定义:数据类型定义:TYPE BIT IS(0,1);-只有两种取值只有两种取值 STD_LOGIC数据类型定义:数据类型定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-);K KX康芯科技康芯科技4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器2.2.设计库和标准程序包
12、设计库和标准程序包 LIBRARY WORK;LIBRARY STD;USE STD.STANDARD.ALL;使用库和程序包的一般定义表式是:使用库和程序包的一般定义表式是:LIBRARY LIBRARY ;USE USE .ALL;ALL;K KX康芯科技康芯科技4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器3.3.信号定义和数据对象信号定义和数据对象 “CLKEVENT AND CLK=1”“SIGNAL Q1:STD_LOGIC;”4.4.上升沿检测表式和信号属性函数上升沿检测表式和信号属性函数
13、EVENTEVENT EVENT EVENT K KX康芯科技康芯科技5.5.不完整条件语句与时序电路不完整条件语句与时序电路 【例例4-7】ENTITY COMP_BAD IS PORT(a1,b1 :IN BIT;q1 :OUT BIT );END;ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS(a1,b1)BEGIN IF a1 b1 THEN q1=1;ELSIF a1 b1 THEN q1 b1 THEN q1=1;ELSE q1=0;END IF;.K KX康芯科技康芯科技4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述
14、4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例例4-9】.PROCESS(CLK)BEGINIF CLKEVENT AND(CLK=1)AND(CLKLAST_VALUE=0)THEN Q=D;-确保确保CLK的变化是一次上升沿的跳变的变化是一次上升沿的跳变 END IF;END PROCESS;K KX康芯科技康芯科技4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例例4-10】.PROCESS(CLK)BEGINIF CLK=1 AND CLKLAST_VALUE=0 -同例同例3-9 THE
15、N Q=D;END IF;END PROCESS;K KX康芯科技康芯科技【例例4-11】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF3 IS PORT(CLK,D:IN STD_LOGIC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1:STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF rising_edge(CLK)-必须打开必须打开STD_LOGIC_1164程序包程序包 THEN Q1=D;END IF;END PROCESS;Q=Q1
16、;-在此,赋值语句可以放在进程外,作为并行赋值语句在此,赋值语句可以放在进程外,作为并行赋值语句 END;K KX康芯科技康芯科技4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例例4-12】.PROCESS BEGIN wait until CLK=1 ;-利用利用wait语句语句 Q=D;END PROCESS;K KX康芯科技康芯科技4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述【例例4-13】.PROCESS(CLK)BEGIN IF CLK=1 THEN Q=D;-利用进程的启动特性产生
17、对利用进程的启动特性产生对CLK的边沿检测的边沿检测 END IF;END PROCESS;图图4-7 例例4-13的时序波形的时序波形 K KX康芯科技康芯科技4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述【例例4-14】.PROCESS(CLK,D)BEGIN IF CLK=1 -电平触发型寄存器电平触发型寄存器 THEN Q=D;END IF;END PROCESS;图图4-8 例例4-14的时序波形的时序波形 K KX康芯科技康芯科技4.2.4 异步时序电路设计异步时序电路设计【例例4-15】.ARCHITECTURE bhv OF MULTI_DFF IS SIGN
18、AL Q1,Q2:STD_LOGIC;BEGINPRO1:PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=NOT(Q2 OR A);END IF;END PROCESS;PRO2:PROCESS(Q1)BEGIN IF Q1EVENT AND Q1=1 THEN Q2=D;END IF;END PROCESS;QQ=Q2;.K KX康芯科技康芯科技图图4-9 例例4-15综合后的电路(综合后的电路(Synplify综合)综合)4.2.4 异步时序电路设计异步时序电路设计 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 K KX康芯科
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 EDA 技术 实用教程
限制150内