安徽理工大学 EDA总结_第1页
安徽理工大学 EDA总结_第2页
安徽理工大学 EDA总结_第3页
安徽理工大学 EDA总结_第4页
安徽理工大学 EDA总结_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

一、 EDA:电子设计自动化的缩写EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发工具软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。综合,就其字面含义应该为:把抽象的实体结合成单个或统一的实体。在电子设计自动化领域,综合的概念可以表示为:将用行为和功能层次表达的电子系统转换成低层次的便于具体实现的模块组合装配的过程。在基于VHDL的设计过程中,综合也可以理解为从VHDL代码到具体电路结构的转化过程。逻辑综合:所谓逻辑综合,就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。逻辑适配:所谓逻辑适配,就是将由综合器产生的网表文件针对其一具体的目标器件进行逻辑映射操作,其中包括底层器件配置,逻辑分割,逻辑优化,布线和操作等,配置于指定的目标器件中,产生最终的下载文件。二、 FPGA/CPLD的设计流程:(自顶向下)1源程序的编辑和编译;2逻辑综合和优化;3目标器件的布线/适配;4目标器件的编程/下载;5设计过程中的有关仿真;6、硬件仿真/硬件测试。三、 FPGA/CPLD的主流芯片厂家及EDA软件:Altera的Max+plusII、QuartusIILattice的ispDesignEXPECTXilinx的FoundationSeries、ISE/ISE—WebPACKSeriesActel四、 FPGA/CPLD的两种基本组成结构查找表、与或阵列五、 简单PLD的发展及结构特点(PROMfPLAfPALfGAL—CPLD/FPGA)发展过程:熔丝编程的PROM和PLA的出现,标志着PLD诞生,随后对PLA进行改进,产生PAL器件,与PLA相似,但原来PLA的可编的或阵列在PAL里被固定,或阵列固定,与阵列可编的结构简化了编程算法,运行速度提高,适用于中小规模的可编程电路,但PAL通用性差,每个PAL只能对应一个I/O口,生产不便,因为采用熔丝编程,修改需整体更换,成本太高。简单PLD:逻辑门数500门以下,包括PROM、PLA、PAL、GAL等器件六、 PLD的编程工艺1、 熔丝型PLD:如早期的PROM器件,根据设计的熔丝图文件来烧断对应的熔丝,获得所需电路2、 反熔丝型PLD:如OTA型FPGA,过程与熔丝型PLD相类似,但结果相反,在编程处击穿漏层使两点之间导通,而不是断开3、EPROM型PLD:采用紫外线擦除、电可编程,但编程电压一般较高,编程后,下次编程前要采用紫外线擦除上次编程内容4、 EEPEOM/FLASH型PLD:与EPROM型相比,不用紫外线擦除,可直接用电擦除,使用更方便,GAL器件和大部分EPLD、CPLD器件都是EEPROM型PLD5、 SRAM型PLD:可方便快速的编程(或配置),但掉电后,其内容即丢失,再次上电需要重新配置,或加电保护装置以防掉电,大部分FPGA器件都是SRAM型PLD七、 Max7000CPLD的结构组成逻辑阵列块、扩展乘积项、可编程连线阵列、I/O控制块八、 Flex10keFPGA的结构组成嵌入式阵列块EAB、逻辑阵列块LAB、快速通道互连FT、I/O单元九、 FPGA的两种下载方式JATG方式:直接利用PC机,对FPGA进行配置AS方式:PC十、VHDL代码的基本结构1、实体说明:描述实体的外部端口情况2、 结构体:描述实体的工作和行为3、 库:是VHDL常用代码的组成VHDL代码:库声明,实体说明,结构体十一、VHDL中的三种数据对象信号:SIGNAL信号名:数据类型:=初始值;变量:VARIABLE变量名:数据类型:=初始值;常量:CONSTANT常数名:数据类型:=表达式;信号与变量赋值语句功能的比较:信号SIGNAL变量VARTABLE基本用法用于作为电路中的信号连线用于作対进程中局部数据存储单元适用范圉在整个结构休内的任何地方都能适用只能在所定义的进程中使用tr为特性在进程的最后才对信号赋值立即赋值十二、进程的含义、特点、作用1、 进程语句格式:[进程标号:]PROCESS[(敏感信号参数表)][IS][进程说明部分]BEGIN顺序描述语句ENDPROCESS[进程标号];2、 进程要点:PROCESS为一无限循环语句PROCESS中的顺序语句具有明显的顺序/并行运行双重性进程必须由敏感信号的变化来启动进程语句本身是并行语句信号是多个进程间的通信线一个进程中只允许描述对应于一个时钟信号的同步时序逻辑十三、元件例化语句元件例化语句由两部分组成,第一部分是对一个现成的设计实体定义为一个元件语句的功能是对待调用的元件作出调用声明,它的最简表达式如下所示:COMPONENT元件名ISPORT(端口名表);ENDCOMPONENT文件名;元件例化语句的第二部分则是此元件与当前设计实体(顶层文件)中元件间及端口的连接说明。语句的表达式如下:例化名:元件名PORTMAP([端口名=>]连接端口名,...);十四、VHDL语句结构与语法小结:实体:以ENTITY...ENDENTITYe_name描述器件的端口特性。结构体:以ARCHITECTURE...ENDARCHITECTURE给出器件的逻辑功能和行为。端口定义: 以PORT()语句定义器件端口及其数据类型。端口模式:IN、OUT、INOUT、BUFFER描述端口数据的流向特征。数据类型:数据对象承载数据的类别:INTEGER、BOOLEAN、STD_LOGIC、BIT、STD_LOGIC_VECTOR。信号赋值符:“〈二”,用于信号数据的传输,仿真传输延时最短为一个So条件比较符:“=”,在条件语句表式中用于比较待测数据的关系。S延时: 模拟器最小分辨时间S,或称延时So逻辑操作符:AND、OR、NOT、NAND、XOR、XNOR。IF条件语句:IF_THEN_ELSE语句作为顺序语句。并行条件语句:WHEN_ELSE条件信号赋值语句。进程语句:以PROCESS...ENDPROCESS引导的语句结构。顺序语句: 由进程语句引导的,以顺序方式执行的语句。并行语句:在结构体中以并行方式执行的语句。文件取名: 建议文件名与VHDL设计的实体名一致,后缀是.vhd。文件存盘:VHDL设计文件必须存于指定为工程的目录中,此目录将被设定为WORK库,WORK库的路径即为此目录的路径。VHDL库:LIBRARY语句打开VHDL库:IEEE库、标准库STD、工作库WORK..程序包:USE语句声明使用程序包:STD_LOGIC_1164、STD_LOGIC_UNSIGNED、STANDARD等程序。数据对象:信号:SIGNAL,变量:VERIABLE,常数:CONSTANT信号属性函数:信号属性函数EVENT、LAST_VALUE。时钟检测:时钟检测上升沿检测表式:CLK'EVENTANDCLK='1'、RISING_EDGE()、FALLING_EDGE()等。时序电路:不完整条件语句产生时序电路:IF…THEN…ENDIF,IF…THEN…ELSIF…THEN„ENDIF真值表表达:表达方法之一是用CASE_WHEN语句,但要注意OTHERS的应用。并置操作符:并置操作符&可用于合并两个或多个逻辑矢量,构建成新的数组。元件例化:由元件调用声明语句COMPONENT和映射语句PORTMAP()构成。运算符重载概念:当进行非整数类型数据运算操作时需要调用运算符重载函数,这可以打开程序包STD_LOGIC_UNSIGNEDo

十五、程序1、带有复位和时钟使能的10进制计数器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 --检测时钟上升沿IFEN='1'THEN --检测是否允许计数IFCQI<"1001"THENCQI:=CQI+1;--允许计数ELSECQI:=(OTHERS=>'0');--大于9,计数值清零ENDIF;ENDIF;ENDIF;IFCQI="1001"THENCOUT<='1';--计数大于9,输出进位信号ELSECOUT<='0';ENDIF;CQ<=CQI; --将计数值向端口输出ENDPROCESS;ENDbehav;2、7段数码显示译码器:ARCHITECTUREoneOFDECL7SISBEGINPROCESS(A)CASEAISWHENCASEAISWHEN"0000"=>WHEN"0001"=>WHEN"0010"=>WHEN"0011"=>WHEN"0100"=>WHEN"0101"=>WHEN"0110"=>LED7S<="0111111"LED7S<="0000110"LED7S<="1011011"LED7S<="1001111"LED7S<="1100110"LED7S<="1101101"LED7S<="1111101"WHEN"0111"=>LED7S<="0000111"WHEN"1000"=>LED7S<="1111111"WHEN"1001"=>LED7S<="1101111"WHEN"1010"=>LED7S<="1110111"WHEN"1011"=>LED7S<="1111100"WHEN"1100"=>LED7S<=“0111001"WHEN"1101"=>LED7S<="1011110"WHEN"1110"=>LED7S<="1111001"WHEN"1111"=>LED7S<="1110001"WHENOTHERS=>NULL1ENDCASE;ENDPROCESSEND;3、数控分频器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPULSEISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(7DOWNTO0)FOUT:OUTSTD_LOGIC);END;ARCHITECTUREoneOFPULSEISSIGNALFULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)VARIABLECNT8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THENIFCNT8="11111111"THENCNT8:=D;—当CNT8计数计满时,输入数据D被同步预置给计数器CNT8FULL<=T';--同时使溢出标志信号FULL输出为高电平

ELSECNT8:=CNT8+1; --否则继续作加1计数FULL<='0'; —且输出溢出标志信号FULL为低电平ENDIF;ENDIF;ENDPROCESSP_REG;P_DIV:PROCESS(FULL)VARIABLECNT2:STD_LOGIC;BEGINIFFULL'EVENTANDFULL='1'THENCNT2:=NOTCNT2;--如果溢出标志信号FULL为高电平,D触发器输出取IFCNT2='1'THENFOUT<='1';ELSEFOUT<='0';ENDIF;ENDIF;ENDPROCESSP_DIV;END;4、4位十进制频率计LIBRARYIEEE;--测频控制器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT( CLKK:INSTD_LOGIC;--1HzCNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);ENDTESTCTL;ARCHITECTUREbehavOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIFCLKK'EVENTANDCLKK='1'THENDIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLKK,DIV2CLK)BEGINIFCLKK='0'ANDDiv2CLK='0'THENRST_CNT<='1';ELSERST_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;ENDbehav;LIBRARYIEEE;--4位锁存器USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG4BISPORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDREG4B;ARCHITECTUREbehavOFREG4BISBEGINPROCESS(LOAD,DIN)BEGINIFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;--时钟到来时,锁存输入数据ENDIF;END

温馨提示

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

评论

0/150

提交评论