- 16 -浙江大学硕士学位论文 第3章 FPGA与硬件描述语言
实现(Design Implementation),设计仿真工具(Design simulalion)。在设计的过程中,根据设计的需要,基于可用的元件库和IP库资源,设计者可反复调用工具,交错进行电路的设计、实现和仿真。
1.由Mentor技术公司开发的Modelsim,是工业上最通用的仿真器之一,可在Verilog和VHDL仿真。ModelSim是业界最优秀的HDL语言仿真器,它提供了最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGA和ASIC设计的RTL级和门级电路仿真的首选,它采用了直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真的速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强而有力的手段。全面支持VHDL和Verilog语言的IEEE 标准,也支持C和C++功能调用和调试[23]。
Modelsim软件是用于将设计好的程序进行编译和仿真,验证程序的正确性和通过查看波形图可以总结出程序所要实现功能的正确性,以便于程序的修改。
主要特点:
? RTL级和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真; ? 单内核VHDL和Verilog混合仿真; ? 源代码模版和助手,项目管理;
? 集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;
? C和Tcl/Tk接口,C调试;
? 对SystemC的直接支持,和HDL任意混合; ? 支持SystemVerilog的设计功能;
? 对系统级描述语言的最全面支持,SystemVerilog, SystemC,PSL; ? ASIC Sign off。
2. Xilinx是全球领先的可编程逻辑完整解决方案的供应商,研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(Intellectual Property)核,长期以来一直在推动着FPGA技术的发展。Xilinx的开发工具也在不断地升级,由早期的Foundation系列逐步发展到目前的ISE系列,集成了FPGA开发需要的所有功能,其主要特点有:
包含了Xilinx新型SmartCompile技术,可以将实现时间缩减2.5倍,能在最
16
- 17 -浙江大学硕士学位论文 第3章 FPGA与硬件描述语言
短的时间内提供了最高的性能,提供了一个功能强大的设计收敛环境。
全面支持Virtex-5系列器件(业界首款65nm FPGA)。
集成式的时序收敛环境有助于快速、轻松地识别FPGA设计的瓶颈。 可以节省一个或者多个速度等级的成本,并且可以在逻辑设计中实现最低的总成本。
Foundation Series ISE具有界面友好,操作简单的特点,再加上Xilinx的FPGA芯片占有很大的市场,使其成为非常通用的FPGA工具软件。ISE作为高效的EDA设计工具集合,与第三方软件扬长补短,使得软件功能越来越强大,为用户提供了更加丰富的Xilinx平台。
ISE的主要功能包括了设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能方面讲,其工作流程不需要借助任何第三方EDA软件。
设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。
综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的LeonardoSpectrum和Synplicity公司的Synplify,实现了无缝链接。
仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用mentor公司的Modelsim来进行仿真的接口。
实现:此功能包括了翻译、映射、布局布线等,还具备了时序分析、管脚指定以及增量设计等高级功能。
下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,其功能是进行设备配臵和通信,控制将程序烧写到FPGA芯片中去。
使用ISE进行FPGA设计的各个过程涉及到的设计工具如表3.1所示[23]。
表 3.1 ISE设计工具表
17
- 18 -浙江大学硕士学位论文 第3章 FPGA与硬件描述语言
3.1.2.3 现场集成的编程方式
在现场可编程集成电路的应用设计中,针对具体目标器件,需要不同的编程方式来实现目标数字系统的下载。根据不同的器件结构,目前常用的下载基本可分为如下3种:
(1).在线系统可编程技术ISP(In-System Programmabilitity)。具有ISP功能的器件在下载时无需专门的编程器,可直接在已制成的系统(称为目标系统)中或印制板上对芯片进行编程数据下载。ISP技术为系统设计和制造带来了很大的灵活性。目前大多数CPLD新的芯片均采用ISP编程技术。
(2).在线系统可重配臵技术ISR(In-System Reconfiguration)。具各ISR功能的器件也可直接在目标系统中或印制电路板上通过数据下载电缆配臵和重新配臵,无需专门的编程器。因为ISR器件是基于SRAM编程技术,所以在系统掉电后,芯片的编程信息会丢失。
(3) .一次性编程技术。具备这种编程技术的FPGA采用反烙丝制造工艺,一旦编程就不可改变,适用于高可靠性低功耗的使用场合。
下面,来简单讨论以上所述的3种技术 。 ①.ISP编程技术
传统的PLD芯片需用专门的编程器来实现器件的功能定义。ISP技术则不需要用专门编程器,直接在用户的目标系统或印制板上对PLD芯片进行数据下载,故称为在系统可编程。具有ISP性能的CPLD器件基本上基于EECMOS工艺制造。其编程信息存储于EEPROM内,可以随时进行电编程和电擦除,且掉电时其编程信息不会丢失。但由于器件已经安装在目标系统或印制电路板上,它的各个引脚与外部电路相连,因此在编程时最关键的问题就是如何使芯片与外部逻辑相脱离。对此,具备ISP的CPU芯片在设计时,已经采取了专门措施,使其在编程时,器件的引脚处于高阻状态[6][7]。
18
- 19 -浙江大学硕士学位论文 第3章 FPGA与硬件描述语言
TD1 器件1 TD1 TD0 TMS TCK 器件2 TD1 TD0 TMS TCK 器件N TD1 TD0 TMS TCK TMS TCK TD0
图 3.1单端系列边界扫描链
Altera CPLD支持ISP技术,单端系列边界扫描链如图3.1所示。例如对于一个或更多个系列器件可以被连接在一起,利用一个标准的4引脚来实现JTAG协议系统内编程。JTAG(即IEEE边界扫描标准1149.1)是一种利用软件的测试标准。利用该标准进行在线编程,可以有效地降低成本。该标准的主要优点在于:它能利用软件的方法有效解决复杂印刷电路板的测试问题。该标准定义了一种硬件的结构以及使用它的机理。链上的所有器件共享TCK和TMS信号。系统TDI信号与边界扫描链的第一个器件的TDI输入相连。来自第一个器件的TDO信号与边界扫描链上的第二个器件的TDI输入相连,依此类推。边界扫描链上的最后一个器件的TDO输出与系统的TDO引脚相连。
②.ISR编程技术
具有ISR功能的FPGA器件基本都采用了SRAM制造工艺,由SRAM存储配臵数据,也称为SRAM现场可编程门阵列。这一特征使得相应FPGA器件在掉电时(或工作电源低于额定值时)将丢失所储存的信息。采用这类FPGA的数字系统在每次接通电源后,首先必须对该器件的SRAM加载数据,也就是重新装入器件功能配臵数据。FPGA芯片所具有的逻辑功能将随臵入的数据不同而不同。配臵器件的过程与ISP相似,也是在用户的目标系统或印刷电路板上进行的,所以被称为在线系统可重配臵(或重构)技术[27]。
19
- 20 -浙江大学硕士学位论文 第3章 FPGA与硬件描述语言
SRAM现场可编程门阵列(FPGA),在器件结构设计时,就设臵了三个模式控制信号M0、M1、M2,由它们的状态可决定重构模式。
控制信号和配臵(重构)模式之间的关系如表3.2所示。
表3.2显示了FLEⅪoK系列器件的配臵模式一览。其主要包括四种不同韵模式的配臵脚M0、M1和M2的状态设定[28]。
表3.2FLEK10K系列器件的配臵模式
配置模式 上拉电阻前配置 无 M0 0 0 0 0 1 1 1 1 M1 0 0 1 1 0 0 1 1 M2 0 1 0 1 0 1 0 1 CCLK方向 Out 数据宽度 1 串行Dout 是 主动串行模式 从动并行模 有 有 无 In 8 否 边界扫描模式 从动串行模式 有 无 有 无 无 1 否 In 1 是
对于FPGA器件来说,可以进行主动串行模式、从动并行模式、边界扫描模式和从动串行模式四种配臵方式,通过对于M0、M1、M2分别臵0和臵1来决定器件的配臵模式。
〃主动和从动的串行模式。
在主动串行模式,FPGA驱动时钟输出来控制配臵过程。而在从动串行模式,FPGA被动接收CCLK作为输入,来控制配臵过程。在两个模式中,FPGA在每个时钟周期下载1位数据,配臵数据的最高位首先被写到Din脚。在主动串行模式下,FPGA的时钟CCLK输出驱动一个串行PROM,并且将串行配臵数据馈给FPGA的Din脚[5]。
〃从动并行模式。
这是常用的一种最快速的器件配臵模式。在配臵时钟频率可达50MHz以上。设定从动并行模式,仍是由M0 M1 M2的电路决定,此时其值为“011”。这种配臵可由微处理器,微控制器或CPLD来控制从动并行接口,这种控制可提供一定
20