1、EDAEDA工具软件工具软件与设计入门与设计入门2022-6-92设计实现*优化*合并、 映射布局布线设计仿真设计输入*原理图*HDL文本编辑功能仿真时序仿真编程或配置硬件调试时序仿真2022-6-93原理图/VHDL文本编辑综合FPGA/CPLD适配FPGA/CPLD编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真、功能仿真2、时序仿真、时序仿真逻辑综合器逻辑综合器结构综合器结构综合器1、isp方式下载方式下载 2、JTAG方式下载方式下载 3、针对、针对SRAM结构配置结构配置4、OTP器件编程器件编程 功能仿真功能仿真应用应用FPGA/CPLD的的EDA开发流程开发
2、流程2022-6-94 设计输入设计输入将要设计的电路以开发软件将要设计的电路以开发软件要求的某种形式表达出来,并输入计算机,要求的某种形式表达出来,并输入计算机,设 计设 计输入输入图形输入法:原理图、状态图和波图形输入法:原理图、状态图和波形图形图文本输入法:文本输入法:VHDLVHDL语言,语言,ABEL HDLABEL HDL或或Verilog-HDLVerilog-HDL2022-6-951. 原理图输入法 原理图由逻辑器件原理图由逻辑器件(符号符号)和连接线构成,和连接线构成,特别适合用来描述接口和连接关系。特别适合用来描述接口和连接关系。优点:优点:(1)类似于画图类似于画图,
3、适于未掌握适于未掌握HDL的设计者的设计者(2) 形象直观,适用于初学或教学演示。形象直观,适用于初学或教学演示。(3) 对于较小的电路模型,其结构与实际电路十对于较小的电路模型,其结构与实际电路十分接近,设计者易于把握电路全局。分接近,设计者易于把握电路全局。(4) 接近于底层电路布局,因此,易于控制逻辑接近于底层电路布局,因此,易于控制逻辑资源的耗用,节省面积。资源的耗用,节省面积。2022-6-96原理图输入法的缺点:原理图输入法的缺点:(1) 兼容性较差,不便交流和管理。兼容性较差,不便交流和管理。(2) 电路功能的易读性下降,排错困难,整体调电路功能的易读性下降,排错困难,整体调整和
4、结构升级困难。整和结构升级困难。(3) 原理图的电路结构和元件已定,留给综合器原理图的电路结构和元件已定,留给综合器和适配器的优化选择空间有限和适配器的优化选择空间有限,偏离了偏离了EDA的本质的本质涵义。涵义。(4) 必须直接面对硬件模块的选用,行为模型的必须直接面对硬件模块的选用,行为模型的建立将无从谈起,无法实现自顶向下的设计方案。建立将无从谈起,无法实现自顶向下的设计方案。2022-6-97 这种方式与传统的计算机软件语言编辑这种方式与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述输入基本一致。就是将使用了某种硬件描述语言语言(HDL)(HDL)的电路设计文本,如的电路
5、设计文本,如VHDLVHDL或或VerilogVerilog的源程序,进行编辑输入。的源程序,进行编辑输入。可以说,应用可以说,应用HDLHDL的文本输入方法克服了上的文本输入方法克服了上述原理图输入法存在的所有弊端,为述原理图输入法存在的所有弊端,为EDAEDA技技术的应用和发展打开了一个广阔的天地。术的应用和发展打开了一个广阔的天地。2022-6-98 设计实现主要由设计实现主要由EDAEDA开发工具依据设计开发工具依据设计输入文件自动生成用于器件编程、波形仿输入文件自动生成用于器件编程、波形仿真及延时分析等所需的数据文件。此过程真及延时分析等所需的数据文件。此过程对开发系统来讲是核心部分
6、,但对用户来对开发系统来讲是核心部分,但对用户来说,几乎是自动化的,设计者无需过多做说,几乎是自动化的,设计者无需过多做什么工作,只需根据需要,通过设置什么工作,只需根据需要,通过设置“设设计实现策略计实现策略”等参数来控制设计实现过程等参数来控制设计实现过程,从而使设计更优化。,从而使设计更优化。 2022-6-99将设计者在将设计者在EDAEDA平台上编辑输入的平台上编辑输入的HDLHDL文本、原文本、原理图或状态图形描述,依据给定的硬件结构组理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底
7、层的电路描述合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应互的映射关系。方式对应起来,成为相应互的映射关系。 综合综合设计输入文件设计输入文件 网表文件网表文件2022-6-910C、ASM.程序程序CPUCPU指令指令/ /数据代码:数据代码:010010 100010 1100010010 100010 1100软件程序编译器软件程序编译
8、器 COMPILER编译器和综合器功能比较编译器和综合器功能比较VHDL/VERILOG.程序程序 硬件描述语言硬件描述语言 综合器综合器 SYNTHESIZER为为ASICASIC设计提供的设计提供的 电路网表文件电路网表文件(a)软件语言设计目标流程)软件语言设计目标流程(b)硬件语言设计目标流程)硬件语言设计目标流程2022-6-911 适配器也称结构综合器,它的功能是适配器也称结构综合器,它的功能是将由综合将由综合器产生的网表文件配置于指定的目标器件中,使之器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件产生最终的下载文件,如,如JEDECJEDEC、JamJam格式的文
9、件。格式的文件。适配所选定的目标器件适配所选定的目标器件(FPGA/CPLD(FPGA/CPLD芯片芯片) )必须属于必须属于原综合器指定的目标器件系列。原综合器指定的目标器件系列。 逻辑综合通过后必须利用适配器将综合后网表文逻辑综合通过后必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程仿真文件作精确的时序仿真
10、,同时产生可用于编程的文件。的文件。2022-6-912时序仿真功能仿真 就是接近真实器件运行特性的仿真,就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。数,因而,仿真精度高。 就是直接对就是直接对VHDL、原理图描述或其他、原理图描述或其他描述形式的逻辑功能进行测试模拟,以描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器求的过程,仿真过程不涉及任何具体器件的硬件特性。件的硬件特性。2022-6-9133.1.4 编程或配置编程或配置 对
11、对CPLD的下载:的下载:编程编程(Program)对对FPGA中的中的SRAM下载:下载:配置配置(Configure)对对OTP FPGA的下载和对的下载和对FPGA的专用配置的专用配置ROM的下载:的下载:编程编程 把适配后生成的下载或配置文件,通过把适配后生成的下载或配置文件,通过编程器或编程电缆向编程器或编程电缆向FPGA/CPLD进行下载,进行下载,以 便 进 行 硬 件 调 试 和 验 证以 便 进 行 硬 件 调 试 和 验 证 ( H a r d w a r e Debugging)。 2022-6-914硬件测试硬件测试 最后是将含有载入了设最后是将含有载入了设计的计的FP
12、GAFPGA或或CPLDCPLD的硬件系统的硬件系统进行统一测试,以便最终验进行统一测试,以便最终验证设计项目在目标系统上的证设计项目在目标系统上的实际工作情况,以排除错误实际工作情况,以排除错误,改进设计。,改进设计。2022-6-9153.2 CPLD和和FPGA的编程与配置方法的编程与配置方法 ByteBlasterByteBlaster(MVMV)下载电缆与下载电缆与AlteraAltera器件器件的接口一般是的接口一般是1010芯的接芯的接口,引脚对应关系和口,引脚对应关系和1010芯连接信号如下:芯连接信号如下:引脚引脚12345678910PS模式模式DCKGNDCONF_DON
13、EVCCnCONFIG-nSTATUS-DATA0GNDJTAG模式模式TCKGNDTDOVCCTMS-TDIGND2022-6-9163.2.1 CPLD的的ISP方式编程方式编程 在系统可编程(在系统可编程(ISP)就是当系统上电并正常工作时,计算机)就是当系统上电并正常工作时,计算机通过系统中的通过系统中的CPLD拥有拥有ISP接口直接对其进行编程,器件在接口直接对其进行编程,器件在编程后立即进入正常工作状态。这种编程后立即进入正常工作状态。这种CPLD编程方式的出现,编程方式的出现,改变了传统的使用专用编程器编程方法的诸多不便。改变了传统的使用专用编程器编程方法的诸多不便。 2022-
14、6-917图图3-4 多多CPLD的的ISP连接方式连接方式 2022-6-9183.2.2使用使用PC并行口配置并行口配置FPGA 2022-6-9193.2.3 用专用配置器件配置FPGA 表3-2 Altera的专用配置器件 器件器件功能描述功能描述封装形式封装形式EPC216956801位,位,3.3/5V供电供电20脚脚PLCC、32脚脚TQFPEPC110464961位,位,3.3/5V供电供电8脚脚PDIP、20脚脚PLCCEPC1441440 8001位,位,3.3/5V供电供电8脚脚PDIP、20脚脚PLCCEPC1213212 9421位,位,5V供电供电8脚脚PDIP、2
15、0脚脚PLCC、32脚脚TQFPEPC106465 5361位,位,5V供电供电8脚脚PDIP、20脚脚PLCC、32脚脚TQFPEPC1064V 65 5361位,位,5V供电供电8脚脚PDIP、20脚脚PLCC、32脚脚TQFP2022-6-9202022-6-9212022-6-9223.2.4 使用单片机配置使用单片机配置FPGA 图3-8 单片机用PPS模式配置FPGA2022-6-9232022-6-924EDA工具主要包含如下五个模块:工具主要包含如下五个模块:(1) 设计输入编辑器设计输入编辑器(2) 仿真器仿真器(3) HDL综合器综合器(4) 适配器(或布局布线器)适配器(
16、或布局布线器)(5) 下载器下载器2022-6-925 EDA工具软件1、ALTERA: MAX+PLUSII、QUARTUSII2、LATTICE: isp EXPERT SYSTEM、 isp Synario ispDesignExpert SYSTEM ispCOMPILER、PAC-DESIGNER3、XILINX: FOUNDATION、ISE4、FPGA Compiler、FPGA Express、Synplify、 Leonardo Spectrum . EDA公司 : CADENCE、EXEMPLAR、MENTOR GRAPHICS、OrCAD、SYNOPSYS、SYNPLIC
17、ITY、VIEWLOGIC、.2022-6-926 (Multiple Array Matrix and Programmable Logic User Systems )1. MAX+ plus的功能的功能可接受图形描述(电路图)或文本描述(硬可接受图形描述(电路图)或文本描述(硬件描述语言),通过编辑、编译、仿真、综件描述语言),通过编辑、编译、仿真、综合、编程下载等一系列过程,最终在硬件上合、编程下载等一系列过程,最终在硬件上实现用户所设计的电路。实现用户所设计的电路。 2022-6-927是一个全面集成的是一个全面集成的 CPLD 开发系统开发系统l良好的开放性界面良好的开放性界面l提
18、供与器件结构无关的开发环境提供与器件结构无关的开发环境l支持多种平台支持多种平台 ( PC机和工作站机和工作站 )l完全集成化完全集成化l丰富的设计库丰富的设计库l接受硬件描述语言接受硬件描述语言 l模块组合式工具软件模块组合式工具软件 2022-6-9283.4.1 一位全加器的设计一位全加器的设计输入输入输出输出CiABSCo0000000110010100110110010101011100111111表3-3 全加器真值表由真值表不难得出:由真值表不难得出:S=A B CiCo=AB+BC+CA全加器是考虑低位进位并能实现两个一位二进制数加法运算的电路,它的输出是本位和和进位 2022
19、-6-9291. 为本项工程设计建立文件夹为本项工程设计建立文件夹方法步骤方法步骤 :每个设计都是一项工程(每个设计都是一项工程(Project),都必须建都必须建立一个文件夹,用来放置与此工程相关的所有立一个文件夹,用来放置与此工程相关的所有文件,此文件夹被默认为工作库(文件,此文件夹被默认为工作库(Work Library)(假设本项设计的文件夹取名为)(假设本项设计的文件夹取名为example,路径为,路径为Eexample)通常要将不同的设计项目放在不同的文件夹中。通常要将不同的设计项目放在不同的文件夹中。注意:注意:文件夹名不能用中文,且不可含有空格文件夹名不能用中文,且不可含有空格
20、。2022-6-9301)打开原理图编辑窗选原理图编辑器2. 输入设计项目原理图并存盘2022-6-931该文件夹一定要处于打开状态由此选择路径的盘符2022-6-932由此选择输入元件路径基本逻辑元件库中的元件由此输入元件名称参数可设置兆功能元件库当 前工作库基本逻辑元件库如门、触发器等3) 调用元件 宏功能元件库2022-6-9332022-6-9342022-6-935将当前设计文件设定为工程文件注意,此路径的指示文件注意,此路径的指示文件始终指向当前的工程文件!始终指向当前的工程文件!2022-6-936将该选项的“”消去,以便显示出所有速度级别的器件 2022-6-937开始编译/综
21、合工程文件-全加器消掉此设置2022-6-9382022-6-9391) 建立波形测试文件建立波形测试文件 2) 输入信号节点输入信号节点 2022-6-9402022-6-941取消Snap to Grid前面的“” 2022-6-9422022-6-943基准线与鼠标间的时间间隔,可用于定性测试波形间的延时将此段拖黑,再按左侧的赋值“1”按钮,可将此段置为高电平依次为:赋值“0”赋值“1”赋不定值“X”赋高阻值“Z”赋值取反时钟周期赋值总线顺序赋值总线赋值FSM状态赋值放大缩小图图3-22 为设计项目的输入信号添加适当波形为设计项目的输入信号添加适当波形2022-6-944波形文件名是默认的2022-6-9452022-6-9462022-6-9472022-6-948在工程路径中有了adder元件 2022-6-949怎样利用GW48-CK系统测试我的设计项目呢?在EDA实验系统上测试设计的结果2022-6-950逐一输入各信号引脚号按此键,确定引脚号2022-6-951引脚锁定后,进行编译、综合和适配引脚锁定后,进行编译、综合和适配适配报告双击此标号启动编程器双击此标号观察适配报告2022-6-9521) 首先用下载电缆线把计算机打印口与目标板(实验板)连接起来,打开电源 2) 设定下载方式 2022-6-953OK!