eda第六章讲义

上传人:re****.1 文档编号:552738822 上传时间:2023-09-12 格式:DOCX 页数:7 大小:20.43KB
返回 下载 相关 举报
eda第六章讲义_第1页
第1页 / 共7页
eda第六章讲义_第2页
第2页 / 共7页
eda第六章讲义_第3页
第3页 / 共7页
eda第六章讲义_第4页
第4页 / 共7页
eda第六章讲义_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《eda第六章讲义》由会员分享,可在线阅读,更多相关《eda第六章讲义(7页珍藏版)》请在金锄头文库上搜索。

1、第六章:可编程逻辑器件基础 6.1.2可编程逻辑器件通常分为三类: PAL/GAL:简单的逻辑阵列 CPLD:复杂可编程逻辑器件 FPGA:现场可编程门阵列611FPGA/CPLD的基本概念 CPLD:基于EECMOS工艺,下载程序掉电不丢失。基本组成:可编程的I/O单元、基本逻辑单元、布线池和其他辅助单元等。 FPGA:基于SRAM或FLASH工艺,配置程序掉电丢失。基本组成:可编程输入/输出(I/O)单元、基本逻辑单元、布线资源、嵌入式块RAM、底层嵌入功能单元、內嵌专用硬核等。613FPGA/CPLD的基本逻辑单元 1、与或阵列CPLD 与或阵列结构可以通过改变与或阵列的连接实现不同的逻

2、辑电路。3种形式:与阵列固定,或阵列可编程一PROM与阵列可编程,或阵列固定PAL、GAL、CPLD与阵列和或阵列均可编程一PAL与或阵列实现加法器2、查找表(LUT): FPGA的可编程逻辑单元是查找表,通过查找表实现逻辑函数查找表的物理结构是静态存储器(SRAM) M个输入项的逻辑函数可以由一个位的SRAM实现。当用户通过原理图或VHDL描述一逻辑电路功能时,EDA软件自动计算逻辑电路的所有可能取值,并写入SRAM中。多级开关和多级与非门614FPGA/CPLD的结构1、FPGA的基本结构:有六部分组成:可编程输入/输出(I/O)单元、基本逻辑单元、布线资源、嵌入式块RAM、底层嵌入功能单

3、元、內嵌专用硬核等布线池和其他辅助单元 1)可编程输入/输出(I/O)单元: 芯片与外界电路的接口部分可编程:通过软件的配置,适配不同的电器标准与I/O物理特性 2)基本可编程逻辑单元(LE、LC) 基本由查找表和寄存器组成 查找表完成组合逻辑功能 寄存器可配置成同步异步复位或置位、时钟使能的触发器和所存器 多个可编程逻辑单元构成一个逻辑阵列(LAB)614FPGA/CPLD的结构 3)嵌入式块RAM可配置成SRAM、DRAM、ROM、FIFO等形式的存储器 4)布线资源布线资源连通FPGA内部所有的单元 连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。 设计实现时,由布局布线器自动根

4、据输入的逻辑网表和约束条件完成所用的底层单元模块的连接。设计者不需要选择布线资源。 5)底层嵌入功能单元通用程度较高的嵌入式功能模块(PLL、DSP、CPU等) 两种方法实现这些功能单元的使用:在VHDL代码和原理图中直接例化在IP和生成器中配置相关参数,自动生成IP。614FPGA/CPLD的结构6)內嵌专用硬核:通用性较弱的硬核不是所有的FPGA都包含硬核,针对性较强的才有,例如高端通信产品中使用的FPGA内有串并收发单元2、CPLD的基本结构基于乘积项结构由可编程的I/O单元、基本逻辑单元、布线池和其他辅助单元1)可编程的I/O单元和FPGA的可编程I/O单元功能一致可编程I/O支持的I

5、/O标准较少,频率较低。614FPGA/CPLD的结构 2)基本逻辑单元基本逻辑单元结构和FPGA差别较大 CPLD中没有查找表,由与或阵列加触发器组成一宏单元(MC) 与或阵列完成组合逻辑功能 触发器完成时序逻辑功能 多个宏单元的集合逻辑阵列块(LAB)ALTERA公司通用逻辑阵列模块(GAB)LATTICE公司功能模块(FB)XILINX公司 3)布线池、布线矩阵 采用集中式布线池结构开关式矩阵可编程互联矩阵一ALTERA公司全局布线池LATTICE公司高速互联和交叉矩阵一XILINX公司布线池结构固定,输入管脚到输出管脚的标准延时固定一Tpd表示。614FPGA/CPLD的结构其他辅助功

6、能模块:JTAG编程模块、全局时钟、全局使能、全局复位/置位单元。FPGA器件EPF10K10LC84-3内部结构CPLD器件EPM7128B100-4内部结构615FPGA/CPLD的比较615FPGA/CPLD的比较6.1.6可编程元件 I三种类型: 熔丝和反熔丝 浮栅编程元件 SRAM配置存储器第七章仿真及逻辑综合7.1.2仿真方法 仿真分:功能仿真、时序仿真仿真方法有两种: 交互式仿真方法 允许仿真运行期间对信号赋值,指定仿真执行时间,并观察输出信号波形。 测试平台仿真方法 利用测试平台,自动地对被测单元输入测试矢量信号,通过波形输出,文件记录输出,或与测试平台中的设定输出矢量来进行比

7、较,验证仿真结果测试平台与原代码具有相同的输入、输出端口,利用测试平台可以对一个设计进行功能仿真和时序仿真。7.1.3测试程序(平台)的设计方法测试(平台)程序应包括:(1)被测实体引入部分; (2)被测实体仿真信号输入部分; (3)被测实体工作状态激活部分;(4)被测实体信号输出部分; (5)被测实体功能仿真的数据比较以及判断结果输出部分(错误警告成功通过信息); (6)被测实体的仿真波形比较处理部分。例7-2是对例5-18中一位全加器构造的测试程序 【例7-2】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYadder_tbISENDadder_t

8、b;ARCHITECTUREtb_architecutreOFadder_tbISCOMPONENTfull_adder-被测元件声明PORT(a,b,cin:INSTD_LOGIC;sum,cout:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALa,b,cin:STD_LOGIC;-输入的激励信号 SIGNALsum,cout:STD_LOGIC;-输出的仿真信号例7-2是对例5-18中一位全加器构造的测试程序 TYPEtest_recISRECORDa:STD_LOGIC;b:STD_LOGIC;cin:STD_LOGIC;sum:STD_LOGIC;cout:STD_

9、LOGIC;ENDRECORD;TYPEtest_arrayISARRAY(POSITIVERANGE)OFtest_rec;CONSTANTpattern:test_array:=( (a=0,b=0,cin=0,sum=0,cout=0),-测试向量表 (a=0,b=0,cin=T,sum=1,cout=0), (a=0,b=1,cin=0,sum=1,cout=0), (a=0,b=1,cin=1,sum=0,cout=1), (a=1,b=0,cin=0,sum=1,cout=0), (a=1,b=0,cin=1,sum=0,cout=1), (a=1,b=1,cin=0,sum=0,

10、cout=1), (a=1,b=1,cin=1,sum=1,cout=1) );例7-2是对例5-18中一位全加器构造的测试程序例7-2是对例5-18中一位全加器构造的测试程序STIM:PROCESSVARIABLEvector:test_rec;VARIABLEerrors:BOOLEAN:=FALSE;BEGINFORiINpatternRANGELOOPvector:=pattern(i); a=vector.a;-由测试向量表施加激励 b=vector.b;cin=vector.cin;WAITFOR100ns;-仿真结果与预期结果的比较IF(sum/=vector.sum)THENe

11、rrors:=TRUE;ENDIF;IF(cout/=vector.cout)THENerrors:=TRUE;ENDIF;ENDLOOP;结构体描述模型:ASSERTNOTerrors-输出出错信息REPORTERRORS!SEVERITYNOTE;ASSERTerrorsREPORTNOERRORS!SEVERITYNOTE;WAIT;ENDPROCESS;ENDtb_architecutre;例7-2是对例5-18中一位全加器构造的测试程序-配置声明CONFIGURATIONtestbench_for_adderOFadder_tbIS-FORtb_architecutreFORUUT:

12、full_adderUSEENTITYWORK.full_adder(full1);ENDFOR; ENDFOR; ENDtestbench_for_adder;7.1.4仿真输入信息的产生1程序直接产生法就是由设计者设计一段VHDL语言程序,由该程序中的进程语句直接产生仿真的输入信息。有三种方法:1 )在程序中定义测试向量表2 )采用并发描述语句3 )采用顺序描述语句例如,对具有以下端口带预置端的可逆计数器进行仿真。 LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL; ENTITYcounterIS PORT(clk:INSTD_LOGIC;data:INSTD

13、_LOGIC_VECTOR(3downto0);-并行数据输入 reset:INSTD_LOGIC;-复位信号 load:INSTD_LOGIC;-并行信号装载允许 up_dn:INSTD_LOGIC;-计数方向输入 q:OUTSTD_LOGIC_VECTOR(3downto0)-计数器输出 ); ENDcounter;例如,对具有以下端口带预置端的可逆计数器进行仿真。 在测试程序中结构体的定义部分定义如下语句: constantCLK_PERIOD:TIME:=30ns; signalCLK:STD_LOGIC:=1;则计数器的输入信号elk,reset,up_dn,data和load可用以

14、下语句产生。 【例7-3】 clk=NOTclkAFTERCLK_PERIOD/2; reset=0,1AFTER10ns,0AFTER50ns; up_dn=0,1AFTER500ns,0AFTER1100ns; data=1001,0110AFTER700ns; load=0,1AFTER350ns,0AFTER400ns,1AFTER900ns,0AFTER950ns;例如,对具有以下端口带预置端的可逆计数器进行仿真。 3)采用顺序描述语句【例7-4】-产生时钟信号CLK_GEN:PROCESSBEGINclk=NOTclkAFTERCLK_PERIOD/2;ENDPROCESS;例如,对具有以下端口带预置

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号