eda第六章讲义
EDA技术实验讲义

E D A/S O P C技术实验讲义陕西科技大学电气与信息工程学院目录4第一章 EDA_VHDL实验/设计与电子设计竞赛4 1-1、应用QuartusII完成基本组合电路设计5 1-2. 应用QuartusII完成基本时序电路的设计6 1-3. 设计含异步清0和同步时钟使能的加法计数器7 1-4. 7段数码显示译码器设计8 1-5. 8位数码扫描显示电路设计9 1-6. 数控分频器的设计10 1-7. 32位并进/并出移位寄存器设计10 1-8. 在QuartusII中用原理图输入法设计8位全加器11 1-9. 在QuartusII中用原理图输入法设计较复杂数字系统11 1-10. 用QuartusII设计正弦信号发生器13 1-11. 8位16进制频率计设计16 1-12. 序列检测器设计16 1-13. VHDL状态机A/D采样控制电路实现18 1-14. 数据采集电路和简易存储示波器设计19 1-15. 比较器和D/A器件实现A/D转换功能的电路设计20 1-16 移位相加硬件乘法器设计24 1-17 采用流水线技术设计高速数字相关器24 1-18 线性反馈移位寄存器设计25 1-19 乐曲硬件演奏电路设计28 1-20 乒乓球游戏电路设计32 1-21 循环冗余校验(CRC)模块设计33 1-22. FPGA步进电机细分驱动控制设计(电子设计竞赛赛题)34 1-23. FPGA直流电机PWM控制实验35 1-24. VGA彩条信号显示控制器设计37 1-25. VGA图像显示控制器设计37 1-26. 清华大学学生基于GW48PK2系统VGA图像显示控制器设计示例5则38 1-27. 直接数字式频率合成器(DDS)设计实验(电子设计竞赛赛题)39 1-28. 嵌入式锁相环PLL应用实验41 1-29. 使用嵌入式锁相环的DDS设计实验(200MHz超高速DAC的PLL测试42 1-30. 基于DDS的数字移相信号发生器设计(电子设计竞赛赛题)45 1-31. 采用超高速A/D的存储示波器设计(含PLL,电子设计竞赛赛题)46 1-32. 信号采集与频谱分析电路设计(电子设计竞赛赛题)46 1-33. 等精度数字频率/相位测试仪设计实验(电子设计竞赛赛题)48 1-34. FPGA与单片机联合开发之isp单片机编程方法49 1-35. 测相仪设计(电子设计竞赛赛题)50 1-36. PS/2键盘鼠标控制电子琴模块设计50 1-37. PS/2鼠标与VGA控制显示游戏模块设计50 1-38. FPGA_单片机_PC机双向通信测频模块设计50 1-39. 10路逻辑分析仪设计(电子设计竞赛赛题)51 1-40. IP核:数控振荡器NCO应用设计52 1-41. IP核:FIR数字滤波器应用设计53 1-42. IP核:FFT应用设计53 1-43. IP核:CSC VGA至电视色制互转模块应用设计54 1-44. IP核:嵌入式逻辑分析仪SignalTapII调用55 1-45. USB与FPGA通信实验56第二章 SOPC/EDA设计实验I56 2-1 用逻辑锁定优化技术设计流水线乘法器实验57 2-2 用逻辑锁定优化技术设计16阶数字滤波器实验59 2-3 基于DSP Builder的FIR数字滤波器设计实验60 2-4 基于DSP Builder的IIR数字滤波器设计实验60 2-5 基于DSP Builder的DDS与数字移相信号发生器设计实验62 2-6 m序列伪随机序列发生器设计实验63 2-7 巴克码检出器设计实验65 2-8 RS码编码器设计实验65 2-9 正交幅度调制与解调模型设计实验67 第三章 SOPC/EDA设计实验II67 3-1 基于MATLAB/DSP Builder DSP可控正弦信号发生器设计72 3-2 32位软核嵌入式处理器系统Nios开发实验73 3-3 设计一个简单的SOPC系统74 3-4 简单测控系统串口接收程序设计74 3-5 GSM短信模块程序设计75 3-6 基于SOPC的秒表程序设计77 3-7 Nios Avalon Slave外设(PWM模块)设计78 3-8 Nios Avalon Slave外设(数码管动态扫描显示模块)设计79 3-15 DMA应用和俄罗斯方块游戏设计79第四章 SOPC/EDA设计实验III ( NiosII系统设计 ) 79 4-1、建立NIOSII嵌入式处理器硬件系统87 4-2、NIOSII软件设计与运行流程94 4-3、加入用户自定义组件设计100 4-4、加入用户自定义指令设计103 4-5、FLASH编程下载104 4-6、设计DSP处理器功能系统104 4-7、AM调制电路设计105第五章液晶接口实验105 5-1 GDM12864A液晶显示模块接口开发111 5-2 HS162-4液晶显示模块与单片机的接口114 5-3 G240-128A液晶显示模块的接口115第六章 CPU及其结构组件设计实验115 6-1 复杂指令CPU设计122 6-2 8051/89C51单片机核于FPGA中实现实验124第七章模拟EDA实验124 7-1 模拟EDA实验及其设计软件使用向导(PAC _Designer使用)124 7-2 基于ispPAC80的5阶精密低通滤波器设计126 7-3 基于ispPAC10的直流增益为9的放大器设计129附录:GW48 EDA/SOPC主系统使用说明129 第一节:GW48教学系统原理与使用介绍,132 第二节:实验电路结构图137 第三节:超高速A/D、D/A板GW-ADDA说明138 第四节:步进电机和直流电机使用说明138 第五节:SOPC适配板使用说明139 第六节:GWDVPB电子设计竞赛应用板使用说明141 第七节:GWCK/PK2/PK3系统万能接插口与结构图信号/与芯片引脚对照表第一章EDA_VHDL实验/设计与电子设计竞赛1-1. 应用QuartusII完成基本组合电路设计(1) 实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
EDA技术精品课件

高级综合工具是EDA技术中最核心的工具之一,它可以将高层次设计转换成硬件描述语言,如Verilog和VHDL。
1
布局布线工具
2
3
布局布线工具是EDA技术中用于芯片物理设计的工具。
布局布线工具可以将高层次的设计转换成实际的芯片物理设计,包括芯片的布局、布线和验证等。
eda技术精品课件
2023-10-28
目录
contents
EDA技术概述EDA技术的基本原理EDA技术的关键技术EDA技术的设计案例EDA技术的未来趋势
01
EDA技术概述
定义
EDA技术是指电子设计自动化技术,它利用计算机辅助设计软件来完成集成电路的设计、验证和模拟。
特点
自动化程度高,可以大大缩短设计周期;设计灵活,可以适应不同的设计需求;设计成本低,可以提高芯片的竞争力。
布局布线工具能够优化芯片的性能和功耗,并且可以检查芯片设计的可制造性和可靠性。
03
IP核复用技术可以提高设计的可靠性和性能,并且可以缩短设计周期和降低成本。
IP核复用技术
01
IP核复用技术是EDA技术中用于提高设计效率和可靠性的重要技术之一。
02
IP核复用技术可以将已经经过验证的硬件设计模块化,从而避免重复设计和错误。
VS
随着集成电路和半导体技术的不断发展,EDA技术将覆盖更多的应用领域。例如,在物联网、人工智能、5G通信等领域,EDA技术将被广泛应用于各种芯片设计,包括处理器、存储器、传感器等。
扩大EDA技术的应用领域需要不断加强技术研发和市场开拓,以实现技术的广泛应用和商业化落地。
EDA实验指导讲义

实验注意事项1.启动计算机,进入2000系统(98系统可以直接进行硬件编程下载,其它系统需装驱动)。
2.打开Quartus II软件,注意软件有没有安装Lisence,若没有请自己安装。
3.在Quartus II中进行设计的输入、编译和仿真,若正确后可进行下一步。
4.检查实验箱的数据线有无连接到计算机的并口(轻插轻拔),电源线有无接上,若均有,则给实验箱上电(开关在实验箱后面)。
5.确认你所需要的实验模式,选中此种模式后,建议按一下右侧的复位键,以便使系统进入该结构模式工作。
6.在Quartus II中进行引脚的锁定后,重新编译一次,然后再下载到实验箱上,接着在实验箱上进行硬件验证。
需要修改代码的话,重复3~6部分。
7.注意在实验中不可带电插拔实验箱上的任何芯片。
8.不可随意搬动实验箱,若确实需要移动,需老师在场,且同意。
9.不可将水、饮料等其它液体洒到实验箱上面。
10.离开实验室时不可带走任何实验室的东西,比如实验说明书等。
11.闲置不用实验箱时,关闭实验箱后面的开关,注意不要拔掉数据线(后续实验还要用),将数据线放平,实验箱的盖子轻轻盖上,不必上锁扣!!!实验的一般步骤1.原理图或VHDL程序代码输入2.检查有无语法错误,编译通过3.建立波形仿真文件4.进行时序仿真,观察逻辑关系是否正确5.管脚分配与锁定6.重新编译适配,产生下载文件7.检查实验箱的电源接上否?并行下载线是否正确联接?拨码开关4为ON,其它为OFF?8.打开实验箱电源,选择合适的模式,复位系统9.编程下载,选择JTAG并行下载方式10.硬件仿真实验课的上课纪律:1.珍惜做实验的时间,禁止在电脑上玩游戏2.实行点名制度,须经老师在实验箱上进行硬件验证,若正确才算完成实验。
3.平时实验的成绩占期末考的30%~40%。
实验报告的撰写格式:实验名称一、实验目的二、实验内容三、实验条件(1)、开发软件Max+Plus II 或者Quartus II 5.0/7.2(2)、实验设备 GW-48系列EDA实验开发系统(3)、所用芯片Altera公司ACEX1K系列的EP1K30TC144-3芯片四、实验设计(1)、系统的原理框图(2)、原理图/VHDL源程序(3)、仿真波形(4)、管脚锁定情况五、实验结果及总结(1)、系统仿真情况(2)、硬件验证情况(3)、实验过程中出现的问题及解决的办法注:除仿真波形可用截图方式打印外,其余要求用手写。
EDAPPT课件

常用EDA软件介绍
1. EDA软件的分类 2. EDA软件的发展趋势
EDA工程的设计流程 EDA工程的设计方法
1.1 EDA技术简介
EDA(Electronic Design Automation 电子设计
自动化)的定义:
1. 狭义的定义: 以计算机为工作平台; 以相关的EDA开发软件为工具; 以大规模可编程逻辑器件(包括CPLD、FPGA、 EPLD等)为设计载体; 以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述的主要表达方式; 自动完成系统算法,电路设计,最终形成电子系统或 专用集成芯片的一门新技术。
20世纪70年代,由于设计师对图形符号使用数量有限, 因此传统的手工布图方法无法满足产品复杂性的要求, 更不能满足工作效率的要求,就产生了一些单独的软件 工具,主要有印制电路板(PCB)布线设计、电路模拟、 逻辑模拟及版图的绘制等。
这种应用计算机进行辅助设计的时期,就是计算机辅助 设计CAD阶段。
利用这些工具,设计师能在产品制作之前预知产品的
功能与性能,能生成产品制造文件,使设计阶段对产 品性能的分析前进了一大步,这就是真正的计算机辅 助工程设计CAE阶段。
飞速发展,其工艺水平已
达到了深亚米微米级,在一个芯片上可以集成上百万、 上千万乃至上亿个晶体管,芯片的工作频率可达到 GHz,发展到了甚超大规模集成电路阶段。
该阶段的硬件系统设计,仍然使用大量不同型号的标
准芯片,实现电子系统设计。
随着微电子工艺的发展,相继出现了集成上万只晶体
管的微处理器、集成几十万乃至上百万储存单元的随 机存储器和只读存储器的超大规模集成电路。
EDA讲义(old)

第 3 章 VHDL 基本语句 …………………………………………………………………17
3.1 顺序语句……………………………………………………………………………17 3.2 并行语句……………………………………………………………………………21 3.3 有限状态机设计……………………………………………………………………28
理
第1章
论
概述
篇
1.1 EDA 技术的涵义与发展历程
1.1.1 EDA 技术的涵义 (Electronic Design Automation) 什么叫 EDA 技术?由于它是一门迅速发展的新技术,涉及面广,内容丰富,理解各异,目 前尚无统一的看法。作者认为:EDA 技术有狭义的 EDA 技术和广义的 EDA 技术之分。 利用 EDA 技术(特指 IES/ASIC 自动设计技术)进行电子系统的设计,具有以下几个特点:① 用软件的方式设计硬件;② 用软件方式设计的系统到硬件系统的转换是由有关的开发软件 自动完成的;③ 设计过程中可用有关软件进行各种仿真;④ 系统可现场编程,在线升级; ⑤ 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA 技术是现代电 子设计的发展趋势。 1.1.2 EDA 技术的发展历程 (1)20 世纪 70 年代的计算机辅助设计 CAD 阶段 早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入 到发展的初级阶段。初级阶段的硬件设计大量选用中、小规模标准集成电路。 由于设计师对图形符号使用数量有限,因此传统的手工布图方法无法满足产品复杂性的要 求,更不能满足工作效率的要求。 (2)20 世纪 80 年代的计算机辅助工程设计 CAE 阶段 初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工 艺的发展, 相继出现了集成上万只晶体管的微处理器、 集成几十万直到上百万储存单元的随 机存储器和只读存储器。 伴随着计算机和集成电路的发展,EDA 技术进入到计算机辅助工程设计阶段。20 世纪 80 年代初推出的 EDA 工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重 点解决电路设计没有完成之前的功能检测等问题。 利用这些工具, 设计师能在产品制作之前 预知产品的功能与性能, 能生成产品制造文件, 使设计阶段对产品性能的分析前进了一大步。 (3)20 世纪 90 年代电子系统设计自动化 EDA 阶段 为了满足千差万别的系统用户提出的设计要求, 最好的办法是由用户自己设计芯片, 让 他们把想设计的电路直接设计在自己的专用芯片上。 微电子技术的发展, 特别是可编程逻辑 器件的发展, 使得微电子厂家可以为用户提供各种规模的可编程逻辑器件, 使设计者通过设 计芯片实现电子系统功能。 EDA 工具的发展,又为设计师提供了全线 EDA 工具。这个阶段发展起来的 EDA 工具,目 的是在设计前期将设计师从事的许多高层次设计工作由工具来完成, 如可以将用户要求转换 为设计技术规范, 有效地处理可用的设计资源与理想的设计目标之间的矛盾, 按具体的硬件、 软件和算法分解设计等。由于电子技术和 EDA 工具的发展,设计师可以在不太长的时间内 使用 EDA 工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数 万门 ASIC 和集成系统的设计与验证。
《EDA技术讲义》PPT课件 (2)

顶
向
将硬件系统设计文件转换成可综合 (RTL)硬件描述语言(HDL)。
下
进行功能仿真
的
设
计
将硬件描述语言转换成标准网表 文件,如EDIF、VHDL、Verilog等
流
程
通过结构综合或适配(芯片内的布线 布局),将标准网表文件转换成芯片 下载文件。进行时序仿真
硬件系统实现。硬件系统测试与调试 HARDWEAR DEBUGERRING
系统设计完成,或系统中 的某一模块实际完成
硬件系统测试与调试
自
底
向
软件设计与调试。
上
SOFTWEAR DEBUGERRING
的
设
计
根据方案和系统指标选购硬件,并设
流
计电路板,即硬件系统实际
程
软件设计与调试。 SOFTWEAR
系统设计完成
整理ppt
2003年7月 Forbes 福布斯 报道
第3章 FPGA/CPLD设计流程
3.1 FPGA/CPLD设计流程
应用FPGA/CPLD的EDA开发流程:
原理图/VHDL文本编辑
EDA技术讲义
FPGA/CPLD
器件和电路系统
1、isp方式下载 2、JTAG方式下载 3、针对SRAM结构的配置 4、OTP器件编程
综合
功能仿真
逻辑综合器
FPGA/CPLD
整理ppt
FPGA芯片叫板微处理器
EDA技术讲义
马里兰州的Annapolis Micro Systems公司在其电脑芯片电路 板中也集成了XILINX的FPGA芯片,以提高产品性能。又如加 州的BlueArc公司用ALTERA的FPGA开发出一种存储器产品,其 速度比Network Appliance和EMC公司的竞争产品更快。华盛顿 州Bellevue市的MidStream Technologies公司采用XILINX的FPGA ,为有限电视运营商开发视频流服务器。这款服务器高仅3.5英 尺,采用了2片FPGA芯片,可同时提供425路视频流信号,比基 于通用微处理器的服务器速度更快。
EDA技术概述PPT课件

20世纪70年代
EDA技术雏形
20世纪80年代
EDA技术基础形成
20世纪90年代
EDA技术成熟和实用
2021/4/7
5
第5页/共46页
EDA技术发展分为三个阶段 :
2021/4/7
21
第21页/共46页
1.4 EDA技术的优势
1.保证设计过程的正确性,大大降低设计成本,缩短设计周期。
2.有各类库的支持。
3.极大地简化设计文档的管理。
4.日益强大的逻辑设计仿真测试技术。
5.设计者拥有完全的自主权,再无受制于人之虞。
6.良好的可移植与可测试性,为系统开发提供了可靠的保证。
使得产品设计效率大幅度提高。
2021/4/7
14
第14页/共46页
2.半定制或全定制ASIC
1)全定制-----芯片完全由厂家按特定 电路功能制造
设计人员从晶体管的版 图尺寸、位置和互连线 开始设计,以达到芯片面 积利用率高、速度快、 功耗低的最优性能
优点:
性能最佳 物理成本最低
可模数混合 设计成本大
2021/4/7
1
第1页/共46页
1.1 电子设计自动化技术及其发展
EDA技术的涵义 广义的EDA技术、狭义EDA技术
广义定义: 以计算机硬件和系统软件为基本工作平台,继承和借
鉴前人在电路和系统、数据库、图形学、图论和拓扑逻辑、 计算数学、优化理论等多学科的最新科技成果而研制的商品 化EDA通用支撑软件和应用软件包。 广义的EDA技术 : 1)计算机辅助分析CAA( 如PSPICE EWB MATLAB等)
EDA讲义

EDA 讲义
王建波
B、实数(REAL) 类似于数学的实数,或称浮点数,书写要有小数点。 2.0 --10进制实数 535.78 --10进制实数 8#65.6#e+4 --8进制实数 36.5e-4 --10进制实数 C、位(BIT) 通常是表示信号,取值“1”或者“0” D、位矢量(BIT_VECTOR) 用双引号括起来的一组位数据,使用时必须注明位宽度 例如:SIGNAL a:BIT_VECTOR(7 TO 0) 表明是一个8位宽度、高位在前的矢量
EDA 讲义 王建波
2、数据对象
包括常量(CONSTANT)、变量(VARIABLE)、信号 (SIGNAL)和文件(FILE)四种 (1)常量(CONSTANT):在文件中对某常数赋予一个 固定的值。通常在程序开始处赋值,数据类型在说明 语句中说明。其格式为: CONSTANT 常数名:数据类型:=表达式; 例如: CONSTANT VCC:REAL:=5.0; CONSTANT Fbus:BIT_VECTOR:=“1011”; CONSTANT Delay:TIME:10ns; 它的使用范围取决于它定义的位置,可以用于全局、局 部结构体等等。
EDA 讲义
王建波
1、5 可编程模拟PLD
Lattice公司于1992年提出ISP技术并于 1999年11月推出模拟PLD。 主要用于: 1、信号调理 2、信号处理 3、信号转换
EDA 讲义
王建波
1、6 结构化的硬件描述语言HDL
HDL(Hardware Description Language)
EDA 讲义 王建波
1、4 可编程数字ASIC
ASIC(Application Specific Integrated Circuit) 定制淹膜 门阵列 标准单元 PLD PLD(PROM、PAL、GAL、EPLD、CPLD、 FPGA等等)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章:可编程逻辑器件基础● 6.1.2 可编程逻辑器件通常分为三类:●PAL/GAL:简单的逻辑阵列●CPLD:复杂可编程逻辑器件●FPGA:现场可编程门阵列6.1.1 FPGA/CPLD的基本概念●CPLD:•基于EECMOS工艺,下载程序掉电不丢失。
•基本组成:可编程的I/O单元、基本逻辑单元、布线池和其他辅助单元等。
●FPGA:•基于SRAM或FLASH工艺,配置程序掉电丢失。
•基本组成:可编程输入/输出(I/O)单元、基本逻辑单元、布线资源、嵌入式块RAM、底层嵌入功能单元、內嵌专用硬核等。
6.1.3 FPGA/CPLD的基本逻辑单元●1、与或阵列——CPLD●与或阵列结构可以通过改变与或阵列的连接实现不同的逻辑电路。
•3种形式:•与阵列固定,或阵列可编程——PROM•与阵列可编程,或阵列固定——PAL、GAL、CPLD•与阵列和或阵列均可编程——PAL与或阵列实现加法器2、查找表(LUT):●FPGA的可编程逻辑单元是查找表,通过查找表实现逻辑函数。
●查找表的物理结构是静态存储器(SRAM)●M个输入项的逻辑函数可以由一个位的SRAM实现。
●当用户通过原理图或VHDL描述一逻辑电路功能时,EDA软件自动计算逻辑电路的所有可能取值,并写入SRAM中。
多级开关和多级与非门6.1.4 FPGA/CPLD的结构●1、FPGA的基本结构:•有六部分组成:可编程输入/输出(I/O)单元、基本逻辑单元、布线资源、嵌入式块RAM、底层嵌入功能单元、內嵌专用硬核等布线池和其他辅助单元•1)可编程输入/输出(I/O)单元:•芯片与外界电路的接口部分•可编程:通过软件的配置,适配不同的电器标准与I/O物理特性•2)基本可编程逻辑单元(LE、LC)•基本由查找表和寄存器组成•查找表完成组合逻辑功能•寄存器可配置成同步异步复位或置位、时钟使能的触发器和所存器•多个可编程逻辑单元构成一个逻辑阵列(LAB)6.1.4 FPGA/CPLD的结构●3)嵌入式块RAM•可配置成SRAM、DRAM、ROM、FIFO等形式的存储器●4)布线资源•布线资源连通FPGA内部所有的单元•连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
•设计实现时,由布局布线器自动根据输入的逻辑网表和约束条件完成所用的底层单元模块的连接。
设计者不需要选择布线资源。
●5)底层嵌入功能单元•通用程度较高的嵌入式功能模块(PLL、DSP、CPU等)•两种方法实现这些功能单元的使用:•在VHDL代码和原理图中直接例化•在IP和生成器中配置相关参数,自动生成IP。
6.1.4 FPGA/CPLD的结构●6)內嵌专用硬核:•通用性较弱的硬核•不是所有的FPGA都包含硬核,针对性较强的才有,例如高端通信产品中使用的FPGA内有串并收发单元2、CPLD的基本结构●基于乘积项结构●由可编程的I/O单元、基本逻辑单元、布线池和其他辅助单元●1)可编程的I/O单元•和FPGA的可编程I/O单元功能一致•可编程I/O支持的I/O标准较少,频率较低。
6.1.4 FPGA/CPLD的结构●2)基本逻辑单元●基本逻辑单元结构和FPGA差别较大●CPLD中没有查找表,由与或阵列加触发器组成——宏单元(MC)•与或阵列完成组合逻辑功能•触发器完成时序逻辑功能●多个宏单元的集合•逻辑阵列块(LAB)——ALTERA公司•通用逻辑阵列模块(GAB)——LATTICE公司•功能模块(FB)——XILINX公司●3)布线池、布线矩阵●采用集中式布线池结构——开关式矩阵•可编程互联矩阵——ALTERA公司•全局布线池——LATTICE公司•高速互联和交叉矩阵——XILINX公司●布线池结构固定,输入管脚到输出管脚的标准延时固定——Tpd表示。
6.1.4 FPGA/CPLD的结构●其他辅助功能模块:JTAG编程模块、全局时钟、全局使能、全局复位/置位单元。
FPGA器件EPF10K10LC84-3内部结构CPLD器件EPM7128B100-4内部结构6.1.5FPGA/CPLD的比较6.1.5FPGA/CPLD的比较6.1.6可编程元件●l三种类型:•熔丝和反熔丝•浮栅编程元件•SRAM配置存储器第七章仿真及逻辑综合7.1.2仿真方法●仿真分:功能仿真、时序仿真●仿真方法有两种:•交互式仿真方法•允许仿真运行期间对信号赋值,指定仿真执行时间,并观察输出信号波形。
•测试平台仿真方法•利用测试平台,自动地对被测单元输入测试矢量信号,通过波形输出,文件记录输出,或与测试平台中的设定输出矢量来进行比较,验证仿真结果•测试平台与原代码具有相同的输入、输出端口,利用测试平台可以对一个设计进行功能仿真和时序仿真。
7.1.3测试程序(平台)的设计方法●测试(平台)程序应包括:●(1)被测实体引入部分;●(2)被测实体仿真信号输入部分;●(3)被测实体工作状态激活部分;●(4)被测实体信号输出部分;●(5)被测实体功能仿真的数据比较以及判断结果输出部分(错误警告,成功通过信息);●(6)被测实体的仿真波形比较处理部分。
例7-2是对例5-18中一位全加器构造的测试程序●【例7-2】●LIBRARY IEEE;●USE IEEE.STD_LOGIC_1164.ALL;●ENTITY adder_tb IS●END adder_tb;●ARCHITECTURE tb_architecutre OF adder_tb IS●COMPONENT full_adder -- 被测元件声明●PORT( a, b, cin: IN STD_LOGIC;●sum, cout : OUT STD_LOGIC);●END COMPONENT;●SIGNAL a, b, cin: STD_LOGIC; -- 输入的激励信号●SIGNAL sum, cout : STD_LOGIC; -- 输出的仿真信号例7-2是对例5-18中一位全加器构造的测试程序●TYPE test_rec IS RECORD● a : STD_LOGIC;● b : STD_LOGIC;●cin : STD_LOGIC;●sum : STD_LOGIC;●cout : STD_LOGIC;●END RECORD;●TYPE test_array IS ARRAY(POSITIVE RANGE <>) OF test_rec;●CONSTANT pattern : test_array:= (●(a=>'0', b=>'0', cin=>'0', sum=>'0', cout=>'0'), -- 测试向量表●(a=>'0', b=>'0', cin=>'1', 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', cout=>'1'),●(a=>'1', b=>'1', cin=>'1', sum=>'1', cout=>'1')●);例7-2是对例5-18中一位全加器构造的测试程序例7-2是对例5-18中一位全加器构造的测试程序●STIM: PROCESS●VARIABLE vector: test_rec;●VARIABLE errors : BOOLEAN := FALSE;●BEGIN●FOR i IN pattern'RANGE LOOP●vector :=pattern(i);● a <= vector.a; -- 由测试向量表施加激励● b <= vector.b;●cin <= vector.cin;●WAIT FOR 100 ns;●-- 仿真结果与预期结果的比较●IF (sum /= vector.sum) THEN errors:=TRUE; END IF;●IF (cout /= vector.cout) THEN errors:=TRUE; END IF;●END LOOP;●结构体描述模型:●ASSERT NOT errors -- 输出出错信息●REPORT "ERRORS!!!"●SEVERITY NOTE;●ASSERT errors●REPORT "NO ERRORS!!!"●SEVERITY NOTE;●WAIT;●END PROCESS;●END tb_architecutre;例7-2是对例5-18中一位全加器构造的测试程序●-- 配置声明●CONFIGURATION testbench_for_adder OF adder_tb IS - ●FOR tb_architecutre●FOR UUT : full_adder●USE ENTITY WORK.full_adder(full1);●END FOR;●END FOR;●END testbench_for_adder;7.1.4 仿真输入信息的产生1.程序直接产生法就是由设计者设计一段VHDL 语言程序,由该程序中的进程语句直接产生仿真的输入信息。
有三种方法:1 )在程序中定义测试向量表2 )采用并发描述语句3 )采用顺序描述语句例如,对具有以下端口\带预置端的可逆计数器进行仿真。