EDA技术实用教程第4章.ppt

上传人:max****ui 文档编号:6340957 上传时间:2020-02-23 格式:PPT 页数:58 大小:396.50KB
返回 下载 相关 举报
EDA技术实用教程第4章.ppt_第1页
第1页 / 共58页
EDA技术实用教程第4章.ppt_第2页
第2页 / 共58页
EDA技术实用教程第4章.ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
EDA技术实用教程 第4章VHDL设计初步 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 图4 1mux21a实体 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 图4 2mux21a结构体 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 例4 1 ENTITYmux21aISPORT a b INBIT s INBIT y OUTBIT ENDENTITYmux21a ARCHITECTUREoneOFmux21aISBEGINy aWHENs 0 ELSEb ENDARCHITECTUREone 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 例4 2 ENTITYmux21aISPORT a b INBIT s INBIT y OUTBIT ENDENTITYmux21a ARCHITECTUREoneOFmux21aISSIGNALd e BIT BEGINd aAND NOTS e bANDs y dORe ENDARCHITECTUREone 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 例4 3 ENTITYmux21aISPORT a b s INBIT y OUTBIT ENDENTITYmux21a ARCHITECTUREoneOFmux21aISBEGINPROCESS a b s BEGINIFs 0 THENy a ELSEy b ENDIF ENDPROCESS ENDARCHITECTUREone 4 1多路选择器的VHDL描述 KX康芯科技 4 1 12选1多路选择器的VHDL描述 图4 3mux21a功能时序波形 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 例4 4 ENTITYe nameISPORT p name port mdata type p namei port midata type ENDENTITYe name 1 实体表达 2 实体名 3 端口语句和端口信号名 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 4 端口模式 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 5 数据类型 6 结构体表达 例4 5 ARCHITECTUREarch nameOFe nameIS 说明语句 BEGIN 功能描述语句 ENDARCHITECTUREarch name 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 7 赋值符号和数据比较符号 赋值符 表式中的等号 没有赋值的含义 只是一种数据比较符号 IFaTHEN 注意 a的数据类型必须是booleanIF s1 0 AND s2 1 OR c b 1 THEN 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 8 逻辑操作符 AND OR NOT 9 条件语句 IF THEN ELSE IF语句必须以语句 ENDIF 结束 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 10 WHEN ELSE条件信号赋值语句 赋值目标 表达式WHEN赋值条件ELSE表达式WHEN赋值条件ELSE 表达式 z aWHENp1 1 ELSEbWHENp2 1 ELSEc 4 1多路选择器的VHDL描述 KX康芯科技 4 1 2相关语句结构和语法说明 11 进程语句和顺序语句 在一个结构体中可以包含任意个进程语句结构 所有的进程语句都是并行语句 而由任一进程PROCESS引导的语句 包含在其中的语句 结构属于顺序语句 12 文件取名和存盘 4 2寄存器描述及其VHDL语言现象 4 2 1D触发器的VHDL描述 KX康芯科技 4 2寄存器描述及其VHDL语言现象 4 2 2VHDL描述的语言现象说明 图4 4D触发器 1 标准逻辑位数据类型STD LOGIC BIT数据类型定义 TYPEBITIS 0 1 只有两种取值 STD LOGIC数据类型定义 TYPESTD LOGICIS U X 0 1 Z W L H KX康芯科技 4 2寄存器描述及其VHDL语言现象 4 2 2VHDL描述的语言现象说明 图4 4D触发器 2 设计库和标准程序包 LIBRARYWORK LIBRARYSTD USESTD STANDARD ALL 使用库和程序包的一般定义表式是 LIBRARY USE ALL KX康芯科技 4 2寄存器描述及其VHDL语言现象 4 2 2VHDL描述的语言现象说明 图4 4D触发器 3 信号定义和数据对象 CLK EVENTANDCLK 1 SIGNALQ1 STD LOGIC 4 上升沿检测表式和信号属性函数EVENT EVENT KX康芯科技 5 不完整条件语句与时序电路 例4 7 ENTITYCOMP BADISPORT a1 b1 INBIT q1 OUTBIT END ARCHITECTUREoneOFCOMP BADISBEGINPROCESS a1 b1 BEGINIFa1 b1THENq1 1 ELSIFa1 b1THENq1 0 未提及当a1 b1时 q1作何操作ENDIF ENDPROCESS END KX康芯科技 5 不完整条件语句与时序电路 4 2 2VHDL描述的语言现象说明 4 2寄存器描述及其VHDL语言现象 图4 5例4 7的电路图 Synplify综合 KX康芯科技 5 不完整条件语句与时序电路 4 2 2VHDL描述的语言现象说明 4 2寄存器描述及其VHDL语言现象 图4 6例4 8的电路图 Synplify综合 例4 8 IFa1 b1THENq1 1 ELSEq1 0 ENDIF KX康芯科技 4 2 3实现时序电路的VHDL不同表述 4 2寄存器描述及其VHDL语言现象 例4 9 PROCESS CLK BEGINIFCLK EVENTAND CLK 1 AND CLK LAST VALUE 0 THENQ D 确保CLK的变化是一次上升沿的跳变ENDIF ENDPROCESS KX康芯科技 4 2 3实现时序电路的VHDL不同表述 4 2寄存器描述及其VHDL语言现象 例4 10 PROCESS CLK BEGINIFCLK 1 ANDCLK LAST VALUE 0 同例3 9THENQ D ENDIF ENDPROCESS KX康芯科技 例4 11 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYDFF3ISPORT CLK D INSTD LOGIC Q OUTSTD LOGIC END ARCHITECTUREbhvOFDFF3ISSIGNALQ1 STD LOGIC BEGINPROCESS CLK BEGINIFrising edge CLK 必须打开STD LOGIC 1164程序包THENQ1 D ENDIF ENDPROCESS Q Q1 在此 赋值语句可以放在进程外 作为并行赋值语句END KX康芯科技 4 2 3实现时序电路的VHDL不同表述 4 2寄存器描述及其VHDL语言现象 例4 12 PROCESSBEGINwaituntilCLK 1 利用wait语句Q D ENDPROCESS KX康芯科技 4 2 3实现时序电路的VHDL不同表述 例4 13 PROCESS CLK BEGINIFCLK 1 THENQ D 利用进程的启动特性产生对CLK的边沿检测ENDIF ENDPROCESS 图4 7例4 13的时序波形 KX康芯科技 4 2 3实现时序电路的VHDL不同表述 例4 14 PROCESS CLK D BEGINIFCLK 1 电平触发型寄存器THENQ D ENDIF ENDPROCESS 图4 8例4 14的时序波形 KX康芯科技 4 2 4异步时序电路设计 例4 15 ARCHITECTUREbhvOFMULTI DFFISSIGNALQ1 Q2 STD LOGIC BEGINPRO1 PROCESS CLK BEGINIFCLK EVENTANDCLK 1 THENQ1 NOT Q2ORA ENDIF ENDPROCESS PRO2 PROCESS Q1 BEGINIFQ1 EVENTANDQ1 1 THENQ2 D ENDIF ENDPROCESS QQ Q2 KX康芯科技 图4 9例4 15综合后的电路 Synplify综合 4 2 4异步时序电路设计 4 2寄存器描述及其VHDL语言现象 KX康芯科技 图4 10半加器h adder电路图及其真值表 4 3 1半加器描述 4 31位二进制全加器的VHDL描述 KX康芯科技 图4 11全加器f adder电路图及其实体模块 4 3 1半加器描述 4 31位二进制全加器的VHDL描述 KX康芯科技 4 3 1半加器描述 4 31位二进制全加器的VHDL描述 例4 16 LIBRARYIEEE 半加器描述 1 布尔方程描述方法USEIEEE STD LOGIC 1164 ALL ENTITYh adderISPORT a b INSTD LOGIC co so OUTSTD LOGIC ENDENTITYh adder ARCHITECTUREfh1OFh adderisBEGINso NOT aXOR NOTb co aANDb ENDARCHITECTUREfh1 KX康芯科技 例4 17 LIBRARYIEEE 半加器描述 2 真值表描述方法USEIEEE STD LOGIC 1164 ALL ENTITYh adderISPORT a b INSTD LOGIC co so OUTSTD LOGIC ENDENTITYh adder ARCHITECTUREfh1OFh adderisSIGNALabc STD LOGIC VECTOR 1DOWNTO0 定义标准逻辑位矢量数据类型BEGINabcsosososoNULL ENDCASE ENDPROCESS ENDARCHITECTUREfh1 KX康芯科技 4 3 1半加器描述 4 31位二进制全加器的VHDL描述 例4 18 LIBRARYIEEE 或门逻辑描述USEIEEE STD LOGIC 1164 ALL ENTITYor2aISPORT a b INSTD LOGIC c OUTSTD LOGIC ENDENTITYor2a ARCHITECTUREoneOFor2aISBEGINc aORb ENDARCHITECTUREone KX康芯科技 例4 19 LIBRARYIEEE 1位二进制全加器顶层设计描述USEIEEE STD LOGIC 1164 ALL ENTITYf adderISPORT ain bin cin INSTD LOGIC cout sum OUTSTD LOGIC ENDENTITYf adder ARCHITECTUREfd1OFf adderISCOMPONENTh adder 调用半加器声明语句PORT a b INSTD LOGIC co so OUTSTD LOGIC ENDCOMPONENT COMPONENTor2aPORT a b INSTD LOGIC c OUTSTD LOGIC ENDCOMPONENT SIGNALd e f STD LOGIC 定义3个信号作为内部的连接线 BEGINu1 h adderPORTMAP a ain b bin co d so e 例化语句u2 h adderPORTMAP a e b cin co f so sum u3 or2aPORTMAP a d b f c cout ENDARCHITECTUREfd1 KX康芯科技 4 3 2CASE语句 4 31位二进制全加器的VHDL描述 1 CASE语句 CASEISWhen When WHENOTHERS ENDCASE KX康芯科技 4 3 2CASE语句 4 31位二进制全加器的VHDL描述 2 标准逻辑矢量数据类型 STD LOGIC VECTORSTD LOGIC 在使用STD LOGIC VECTOR中 必须注明其数组宽度 即位宽 如 B OUTSTD LOGIC VECTOR 7DOWNTO0 或SIGNALA STD LOGIC VECTOR 1TO4 B 01100010 B 7 为 0 B 4DOWNTO1 1101 B 4 为 1 B 7DOWNTO4 A B 6 等于A 2 KX康芯科技 4 3 2CASE语句 4 31位二进制全加器的VHDL描述 3 并置操作符 SIGNALa STD LOGIC VECTOR 3DOWNTO0 SIGNALd STD LOGIC VECTOR 1DOWNTO0 a 1 0 d 1 1 元素与元素并置 并置后的数组长度为4 IFa d 101011 THEN 在IF条件句中可以使用并置符 KX康芯科技 4 3 3全加器描述和例化语句 4 31位二进制全加器的VHDL描述 COMPONENT元件名ISPORT 端口名表 ENDCOMPONENT文件名 COMPONENTh adderPORT c d INSTD LOGIC e f OUTSTD LOGIC 例化名 元件名PORTMAP 端口名 连接端口名 KX康芯科技 4 4计数器设计 例4 20 ENTITYCNT4ISPORT CLK INBIT Q BUFFERINTEGERRANGE15DOWNTO0 END ARCHITECTUREbhvOFCNT4ISBEGINPROCESS CLK BEGINIFCLK EVENTANDCLK 1 THENQ Q 1 ENDIF ENDPROCESS ENDbhv KX康芯科技 4 4计数器设计 4 4 14位二进制加法计数器设计 表式Q Q 1的右项与左项并非处于相同的时刻内 对于时序电路 除了传输延时外 前者的结果出现于当前时钟周期 后者 即左项要获得当前的Q 1 需等待下一个时钟周期 KX康芯科技 4 4计数器设计 4 4 2整数类型 Q BUFFERINTEGERRANGE15DOWNTO0 Q BUFFERNATURALRANGE15DOWNTO0 KX康芯科技 4 4 3计数器设计的其他表述方法 例4 21 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYCNT4ISPORT CLK INSTD LOGIC Q OUTSTD LOGIC VECTOR 3DOWNTO0 END ARCHITECTUREbhvOFCNT4ISSIGNALQ1 STD LOGIC VECTOR 3DOWNTO0 BEGINPROCESS CLK BEGINIFCLK EVENTANDCLK 1 THENQ1 Q1 1 ENDIF ENDPROCESS Q Q1 ENDbhv KX康芯科技 4 4计数器设计 4 4 3计数器设计的其他表述方法 图4 124位加法计数器RTL电路 Synplify综合 KX康芯科技 4 4计数器设计 4 4 3计数器设计的其他表述方法 图4 134位加法计数器工作时序 KX康芯科技 4 5一般加法计数器设计 例4 22 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYCNT10ISPORT CLK RST EN INSTD LOGIC CQ OUTSTD LOGIC VECTOR 3DOWNTO0 COUT OUTSTD LOGIC ENDCNT10 ARCHITECTUREbehavOFCNT10ISBEGINPROCESS CLK RST EN VARIABLECQI STD LOGIC VECTOR 3DOWNTO0 BEGINIFRST 1 THENCQI OTHERS 0 计数器异步复位ELSIFCLK EVENTANDCLK 1 THEN 检测时钟上升沿接下页 KX康芯科技 4 5一般加法计数器设计 IFEN 1 THEN 检测是否允许计数 同步使能 IFCQI 0 大于9 计数值清零ENDIF ENDIF ENDIF IFCQI 9THENCOUT 1 计数大于9 输出进位信号ELSECOUT 0 ENDIF CQ CQI 将计数值向端口输出ENDPROCESS ENDbehav KX康芯科技 4 5一般加法计数器设计 4 5 1相关语法说明 2 省略赋值操作符 OTHERS X SIGNALd1 STD LOGIC VECTOR 4DOWNTO0 VARIABLEa1 STD LOGIC VECTOR 15DOWNTO0 d1 0 a1 OTHERS 0 d1e 3 3 e 5 OTHERS e 1 f e 1 KX康芯科技 4 5一般加法计数器设计 4 5 2程序分析 图4 14例4 22的RTL电路 Synplify综合 KX康芯科技 4 5一般加法计数器设计 4 5 2程序分析 图4 15例4 22的工作时序 KX康芯科技 4 5 3含并行置位的移位寄存器设计 例4 23 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYSHFRTIS 8位右移寄存器PORT CLK LOAD INSTD LOGIC DIN INSTD LOGIC VECTOR 7DOWNTO0 QB OUTSTD LOGIC ENDSHFRT ARCHITECTUREbehavOFSHFRTISBEGINPROCESS CLK LOAD VARIABLEREG8 STD LOGIC VECTOR 7DOWNTO0 BEGINIFCLK EVENTANDCLK 1 THENIFLOAD 1 THENREG8 DIN 由 LOAD 1 装载新数据ELSEREG8 6DOWNTO0 REG8 7DOWNTO1 ENDIF ENDIF QB REG8 0 输出最低位ENDPROCESS ENDbehav KX康芯科技 4 5一般加法计数器设计 4 5 3含并行置位的移位寄存器设计 图4 16例4 23的工作时序 习题 KX康芯科技 4 1 画出与下例实体描述对应的原理图符号元件 ENTITYbuf3sIS 实体1 三态缓冲器PORT input INSTD LOGIC 输入端enable INSTD LOGIC 使能端output OUTSTD LOGIC 输出端ENDbuf3x ENTITYmux21IS 实体2 2选1多路选择器PORT in0 in1 sel INSTD LOGIC output OUTSTD LOGIC 习题 KX康芯科技 4 2 图4 17所示的是4选1多路选择器 试分别用IF THEN语句和CASE语句的表达方式写出此电路的VHDL程序 选择控制的信号s1和s0的数据类型为STD LOGIC VECTOR 当s1 0 s0 0 s1 0 s0 1 s1 1 s0 0 和s1 1 s0 1 分别执行y a y b y c y d 图4 174选1多路选择器 习题 KX康芯科技 4 3 图4 18所示的是双2选1多路选择器构成的电路MUXK 对于其中MUX21A 当s 0 和 1 时 分别有y a 和y b 试在一个结构体中用两个进程来表达此电路 每个进程中用CASE语句描述一个2选1多路选择器MUX21A 图4 18双2选1多路选择器 习题 KX康芯科技 4 4 图4 19是一个含有上升沿触发的D触发器的时序电路 试写出此电路的VHDL设计文件 图4 19时序电路图 习题 KX康芯科技 4 5 给出1位全减器的VHDL描述 要求 1 首先设计1位半减器 然后用例化语句将它们连接起来 图4 20中h suber是半减器 diff是输出差 s out是借位输出 sub in是借位输入 2 以1位全减器为基本硬件 构成串行借位的8位减法器 要求用例化语句来完成此项设计 减法运算是x y sun in diffr 图4 19时序电路图 习题 KX康芯科技 4 6 根据图4 21 写出顶层文件MX3256 VHD的VHDL设计文件 图4 21题4 6电路图 4 7 设计含有异步清零和计数使能的16位二进制加减可控计数器
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!