EDA技术与应用讲义 第6章 VHDL程序设计.ppt_第1页
EDA技术与应用讲义 第6章 VHDL程序设计.ppt_第2页
EDA技术与应用讲义 第6章 VHDL程序设计.ppt_第3页
EDA技术与应用讲义 第6章 VHDL程序设计.ppt_第4页
EDA技术与应用讲义 第6章 VHDL程序设计.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章VHDL程序设计课程讲义 合肥工业大学彭良清 下一章 上一章 上一章内容回顾 先看一个VHDL代码的例子简单代码结构 端口定义和电路逻辑表达代码文件命名进程 PROCESS VHDL代码中的 Port Siganl Variable学会简单VHDL设计的三板斧VHDL与C代码中的函数的区别 操作符 数据类型 赋值语句逻辑分支语句 IF CASE 循环语句 LOOP VHDL代码中的时序逻辑和组合逻辑表达语句的执行时间问题 顺序语句 并行语句 基本单元电路的VHDL代码 三态门 双向缓冲器 计数器 D触发器 译码器 本章内容 复杂代码设计要领层次化设计与元件语句 component 代码复制 generate定义语句 复杂电路的代码结构 function procedure block package 库的使用 复杂代码设计要领 合理划分模块使用层次化结构来编码使用同步电路设计对基本单元电路的VHDL代码应熟练掌握使用FSM 有限状态机 来设计电路使用全局时钟 全局复位信号 如果需要时钟的话 层次化设计与元件语句 component U1A U2A的源代码 ENTITYdemo1 01ISPORT A INSTD LOGIC B OUTSTD LOGIC ENDENTITYdemo1 01 ARCHITECTUREbhvOFdemo1 01ISBEGINB notA ENDARCHITECTUREbhv ENTITYdemo1 02ISPORT X INSTD LOGIC Y INSTD LOGIC Z OUTSTD LOGIC ENDENTITYdemo1 02 ARCHITECTUREbhvOFdemo1 02ISBEGINZ XANDY ENDARCHITECTUREbhv 详细参见 hfut04 component demo1 02 详细参见 hfut04 component demo1 01 ENTITYdemo1ISPORT IN1 INSTD LOGIC IN2 INSTD LOGIC OUT1 OUTSTD LOGIC ENDENTITYdemo1 ARCHITECTUREbhvOFdemo1ISCOMPONENTdemo1 01IS invertercomponentPORT A INSTD LOGIC B OUTSTD LOGIC ENDCOMPONENTdemo1 01 COMPONENTdemo1 02IS twoandgatecomponentPORT X INSTD LOGIC Y INSTD LOGIC Z OUTSTD LOGIC ENDCOMPONENTdemo1 02 SIGNALsigIN3 STD LOGIC BEGINU1 demo1 01PORTMAP A IN1 B sigIN3 U2 demo1 02PORTMAP X sigIN3 Y IN2 Z OUT1 ENDARCHITECTUREbhv U1A U2A的源代码 详细参见 hfut04 component demo1 元件例化 componentinstance sigIN3 SIGNALsigIN3 STD LOGIC U1 demo1 01PORTMAP A IN1 B sigIN3 U2 demo1 02PORTMAP X sigIN3 Y IN2 Z OUT1 这就是一个层次化设计的例子 demo1 01 vhd demo1 vhd demo1 02 vhd 元件例化 语法 元件定义语句COMPONENT元件名ISPROT 端口名表 ENDCOMPONENT元件名 元件连接信号申明语句SIGNAL信号名 类型 元件例化语句例化名 元件名PORTMAP 端口名 连接端口名 取一个元件 插在PCB的对应插座上 制作PCB的布线 元件例化 PCB 元件例化 全加器的例子 一位全加器由 2个1位半加器1个2输入或门组成 1位全加器 Top LevelVHDL ENTITYf adderISPORT ain bin cin INSTD LOGIC cout sum OUTSTD LOGIC ENDENTITYf adder ARCHITECTUREfd1OFf adderISCOMPONENTh adder seeexample4 19 or4 20 4 21PORT a b INSTD LOGIC co so OUTSTD LOGIC ENDCOMPONENT COMPONENTor2a seeexample4 18PORT a b INSTD LOGIC c OUTSTD LOGIC ENDCOMPONENT SIGNALd e f STD LOGIC 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 out ENDARCHITECTUREfd1 h adder被例化了2次 详细参见 p88 ex4 22 f adder 1位全加器 元件1位半加器 2输入或门 LIBARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYh adderISPORT a b INSTD LOGIC co so OUTSTD LOGIC ENDENTITYh adder ARCHITECTUREfh1OFoh adderISBEGINso NOT aXOR NOTb co aANDb ENDARCHITECTUREfh1 LIBARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYor2aISPORT a b INSTD LOGIC c OUTSTD LOGIC ENDENTITYor2a ARCHITECTUREoneOFor2aISBEGINc aorb ENDARCHITECTUREone 详细参见 p87 ex4 18 or2a 详细参见 p87 ex4 19 h adder 层次化设计的4种类别 1 第1种 图形文件 GDF 调用文本文件 VHD 代码复制 generate语句 ENTITYshiftISPORT a clk INSTD LOGIC b OUTSTD LOGIC ENDENTITYshift ARCHITECTUREbhvOFshiftISCOMPONENTdffPORT d clk INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENTdff SIGNALz OUTSTD LOGIC VECTOR 0TO4 BEGINz 0 a g1 FORiIN0TO3GENERATEdffx dffPORTMAP z i clk z i 1 ENDGENERATE b z 4 ENDARCHITECTUREbhv 详细参见 xd p116 ex5 39 shift 代码复制 用4个D触发器构成移位寄存器 相同的元件 Z 0 Z 1 Z 2 Z 3 Z 4 代码复制 元件例化 ENTITYshiftISPORT a clk INSTD LOGIC b OUTSTD LOGIC ENDENTITYshift ARCHITECTUREbhvOFshiftISCOMPONENTdffPORT d clk INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENTdff SIGNALz OUTSTD LOGIC VECTOR 0TO4 BEGINz 0 a dff0 dffPORTMAP z 0 clk z 1 dff1 dffPORTMAP z 1 clk z 2 dff2 dffPORTMAP z 2 clk z 3 dff3 dffPORTMAP z 3 clk z 4 b z 4 ENDARCHITECTUREbhv 详细参见 xd p116 ex5 40 shift 如果构成24位移位寄存器 则例化语句有X句 新方法 generate语句 代码复制 generate语句 ENTITYshiftISPORT a clk INSTD LOGIC b OUTSTD LOGIC ENDENTITYshift ARCHITECTUREbhvOFshiftISCOMPONENTdffPORT d clk INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENTdff SIGNALz STD LOGIC VECTOR 0TO4 BEGINz 0 a g1 FORiIN0TO3GENERATEdffx dffPORTMAP z i clk z i 1 ENDGENERATE b z 4 ENDARCHITECTUREbhv 详细参见 xd p116 ex5 39 shift 生成 generate 语句 语法 格式一 标号 FOR循环变量IN取值范围GENERATE说明BEGIN并行语句ENDGENERATE 标号 格式二 标号 IF条件GENERATE说明BEGIN并行语句ENDGENERATE 标号 问题 请用GENERATE语句构成8位锁存器74373 复杂电路的代码结构 构成复杂电路的代码除了上述的使用元件的层次化设计之外 还有 函数 function 过程 procedure 块 block 包 package 下面分述之 函数 function LIBRARYieee USEieee std logic 1164 all USEWORK packexp all ENTITYaxampISPORT dat1 dat2 INSTD LOGIC VECTOR 3DOWNTO0 dat3 dat4 INSTD LOGIC VECTOR 3DOWNTO0 out1 out2 OUTSTD LOGIC VECTOR 3DOWNTO0 ENDaxamp ARCHITECTUREbehavOFaxampISBEGINout1 max dat1 dat2 PROCESS dat2 dat4 BEGINout2 max dat3 dat4 ENDPROCESS ENDARCHITECTUREbehav LIBRARYieee USEieee std logic 1164 all PACKAGEpackexpISFUNCTIONmax a b INSTD LOGIC VECTOR RETURNSTD LOGIC VECTOR FUNCTIONfunc1 a b c REAL RETURNREAL FUNCTION a b INSTD LOGIC VECTOR RETURNINTEGER FUNC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论