您的位置 首页 方案

根据Altera的FPGA器材完好规划流程以及开发工具剖析

基于Altera的FPGA器件完整设计流程以及开发工具分析-近年来,随着微电子学的迅速发展以及SoC(System on Chip,片上系统)技术在设计领域引起的深刻变革,EDA(Electronic Design Automatic,电子设计自动化)工具在系统设计中的地位愈发重要。特别是20世纪90年代后,电子系统已经由电路板级发展为ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field Programmable Gate Array,现场可编程门阵列)以及嵌入式系统等多种模式,其中FPGA设计正是当前数字系统设计领域中的重要方式之一。

近年来,跟着微电子学的迅速发展以及SoC(System on Chip,片上体系)技能在规划范畴引起的深入革新,EDA(Electronic Design Automatic,电子规划主动化)东西在体系规划中的位置益发重要。特别是20世纪90年代后,电子体系现已由电路板级发展为ASIC(ApplicaTIon Specific Integrated Circuit,专用集成电路)、FPGA(Field Programmable Gate Array,现场可编程门阵列)以及嵌入式体系等多种形式,其间FPGA规划正是当时数字体系规划范畴中的重要办法之一。

本文以Altera公司的FPGA为方针器材,经过一个8-bit RISC CPU的规划实例,体系地介绍了FPGA的完好规划流程以及开发进程中用到的多种EDA东西,包含Modelsim、Synplify、Quartus II,并要点阐明怎么运用这些EDA东西进行协同规划。

1 FPGA的规划流程

一般来说,完好的FPGA规划流程包含电路规划与输入、功用仿真、归纳优化、归纳后仿真、完结与布局布线、时序仿真、板级仿真与验证、调试与加载装备等首要进程,如图1所示。

依据Altera的FPGA器材完好规划流程以及开发东西剖析

电路规划与输入是指经过某些规范的描绘办法,将工程师的电路构思输入给EDA东西,常用的规划办法有HDL(Hardware DescripTIon Language,硬件描绘言语)规划输入法与原理图规划输入法。现在进行大型工程设计时,最常用的规划办法是HDL规划输入法,它利于自顶向下规划以及模块的区分与复用,可移植性和通用性好,规划不因芯片的工艺与结构的不同而改动,更利于向ASIC移植。

电路规划完结后,要用专用的仿真东西对规划进行功用仿真(FuncTIonal SimulaTIon),验证电路功用是否契合规划要求。功用仿真又称前仿真(Pre-Simulation)。经过仿真能及时发现规划中的过错,加速规划进展,进步规划的可靠性。

归纳(Synthesis)优化是指将HDL言语、原理图等规划输入翻译成由根本门、RAM、触发器等根本逻辑单元组成的逻辑网表,并依据方针与要求(束缚条件)优化所生成的逻辑网表,输出规范格局的网表文件,供FPGA厂商的布局布线器进行完结。

归纳后仿真(Post Synthesis Simulation)的作用是查看归纳出的成果与原规划是否共同。作归纳后仿真时,要把归纳生成的规范延时格局SDF(Standard Delay Format)文件反标注到归纳仿真模型中去,可估量门延时带来的影响。归纳后仿真尽管比功用仿真精确一些,可是只能估量门延时,不能估量线延时,仿真成果与布线后的实践状况还有必定距离,并不是十分精确。现在干流归纳东西日益老练,关于一般性规划,假如规划者坚信自己表述清晰,没有归纳歧义发生,则能够省掉归纳后仿真进程。

归纳成果的实质是一些由根本门、触发器、RAM等根本逻辑单元组成的逻辑网表,它与芯片实践的装备状况还有较大距离,此刻应该运用FPGA厂商供给的软件东西,将归纳输出的逻辑网表适配到详细FPGA器材上,这个进程叫做完结(Implementation)。在完结进程中最首要的进程是布局布线(P&R),所谓布局(Place)是指将逻辑网表中的硬件原语或底层单元合理地适配到FPGA内部的固有硬件结构上,布局的好坏对规划的终究完结成果(包含速度和面积两个方面)影响很大;所谓布线(Route)是指依据布局的拓扑结构,运用FPGA内部的各种连线资源,合理正确地衔接各个元件的进程。一般状况下,用户能够经过设置参数指定布局布线的优化原则。全体来说,优化方针首要有两个方面——面积和速度。一般依据规划的首要矛盾,挑选面积或速度或平衡两者等优化方针,可是当两者抵触时,一般满意时序束缚要求更重要一些,此刻挑选速度或时序优化方针作用更佳。

将布局布线的时延信息反标注到规划网表中,所进行的仿真就叫时序仿真(Timing Simulation)或布局布线后仿真,简称后仿真(Post-Simulation)。布局布线后生成的SDF文件包含的时延信息最全,不只包含门延时,还包含实践布线延时,所以布局布线后仿真最精确,能较好地反映出芯片的实践作业状况。一般来说,布局布线后仿真进程有必要进行,经过布局布线后仿真能查看规划时序与FPGA的实践运转状况是否共同,确保规划的可靠性与稳定性。

在有些高速规划状况下,还需要运用第三方的板级验证东西进行仿真与验证,这些东西经过对规划的IBIS、HSPICE等模型的仿真,能较好地剖析高速规划的信号完好性、电磁搅扰等电路特性等。FPGA规划开发流程的最终进程便是在线调试或将生成的装备文件写入芯片中进行测验

2 EDA东西介绍

图1不只显现了FPGA的规划流程,还给出了8-bit RISC CPU规划实例中用到的EDA东西与FPGA规划流程中每一步的对应联系。

2.1 仿真东西Modelsim

现在仿真东西品种繁复,但在业界最盛行、影响力最大的仿真东西仍是Mentor Graphics公司的Modelsim,其首要特点是仿真速度快、仿真精度高,且图形化界面友爱,具有结构、信号、波形、进程、数据流等窗口。Modelsim不只支撑VHDL和Verilog HDL的仿真,还支撑VHDL和Verilog HDL混合编程的联合仿真。PC版Modelsim的仿真速度也很快,乃至和作业站版平起平坐。

2.2 归纳东西Synplify

Synplicity公司的Synplify作为新式的归纳东西在归纳战略和优化手法上有较大起伏的进步,特别是其先进的时序驱动和行为级提取归纳技能B.E.S.T(Behavior Extraction Synthesis Technology)算法引擎,使其归纳成果面积小、速度快,在业界口碑很好,假如结合Synplicity公司的Amplify物理束缚功用,对许多规划能大起伏地削减资源,优化面积到达30%以上。

2.3 集成开发环境Quartus II

Quartus II是Altera公司的第四代可编程逻辑器材集成开发环境,供给从规划输入到器材编程的悉数功用。Quartus II能够发生并辨认EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,为其它EDA东西供给了便利的接口

3 8-bit RISC CPU规划实例

CPU是一个杂乱的数字逻辑电路,但其根本部件的逻辑并不杂乱,可将其分为8个模块,各模块的称号及功用列于表1中,它们之间的衔接联系如图2所示。

为了对所规划的CPU进行仿真测验,还需要树立一些必要的外围虚拟器材模型,包含装载测验数据的RAM、存储测验程序的ROM和用于选通RAM或ROM的地址译码器ADDRDEC。在仿真测验中,用这些虚拟器材来替代实在的器材对所规划的CPU进行验证,查看各条指令的履行是否正确、与外围电路的数据交换是否正常,这与用实在器材进行调试的状况十分挨近。这些虚拟器材模型都能够用Verilog HDL描绘,因为不需要被归纳成详细的电路,所以只需确保这些虚拟器材模型的功用和接口信号正确即可。它们之间的衔接联系如图3所示。

在测验台程序(Testbench)中运用模块调用的办法把CPU及其外围测验模块按图3衔接起来。在Testbench中运转3个不同的汇编程序,对CPU进行完好的逻辑测验与验证。在Modelsim中,首要对一切的规划输入文件进行编译,编译经往后,对Testbench模块进行仿真。下面截取了一段功用仿真的成果:

run -all

# ROM Loaded Successfully

# RAM Loaded Successfully

# Running CPUtest1

# TIME PC INSTR ADDR DATA

# 1200.0ns 0000 JMP 003c zz

# 2000.0ns 003c JMP 0006 zz

# 2800.0ns 0006 LDA 1800 00

# 3600.0ns 0008 SKZ 0000 zz

# A HALT Instruction was Processed

# Break at cpu_test.v line 29

功用仿真经往后,要依据方针器材(Altera FLEX10K EPF10K10 TC144-4)对规划进行归纳。为了便于及时发现归纳中呈现的问题,归纳作业应分阶段进行,首要对构成CPU的各个子模块进行归纳以查看其可归纳性,然后再对全体的CPU模块进行归纳优化。归纳东西挑选Synplify。

布局布线东西挑选Quartus II,对Synplify归纳器输出的edf文件进行全编译。全编译是指从剖析、归纳、适配(布局布线)、编程到时序剖析的全进程。实践上,规划在Synplify中现已归纳好了,但剖析与归纳关于Quartus II来说是有必要的,首要是用来生成数据库文件。因为Quartus II中还内嵌了归纳东西,所以也能够运用Quartus II来完结从归纳到布局布线的全进程(即全编译)。全编译完结后,Quartus II会主动生成布局布线后的网表文件和规范延时格局SDF文件。

要完结时序仿真,首要要将功用仿真时Modelsim工程中的RTL级规划文件替换为Quartus II布局布线后生成的网表文件,并编译经过。在Modelsim中,参加事前编译好的Altera仿真库文件和延时反标SDF文件,对Testbench模块进行仿真。截取的一段时序仿真成果如下:

run -all

# ROM Loaded Successfully

# RAM Loaded Successfully

# Running CPUtest1

# TIME PC INSTR ADDR DATA

# 1239.0ns 0000 JMP 003c zz

# 2039.0ns 003c JMP 0006 zz

# 2839.0ns 0006 LDA 1800 00

# 3639.0ns 0008 SKZ 0000 zz

# A HALT Instruction was Processed

# Break at cpu_test.v line 29

与功用仿真的成果比较,时序仿真的成果尽管有39ns的推迟,但体系的逻辑功用却未发生改动,这阐明归纳和布局布线带来的推迟并未导致体系功用的改动。

本规划选用的下载芯片为Altera公司FLEX 10K系列的EPF10K10TC144-4,它具有144个I/O引脚,其间可分配的有96个,内部具有576个逻辑宏单元。下载东西挑选Quartus II,首要挑选器材、分配管脚,然后履行全编译。全编译后会生成一些数据文件,其间扩展名为hex的是十六进制输出文件,它包含了布局布线后的器材、逻辑单元和管脚分配等编程信息。经过下载线将计算机的COM口与试验板的COM口衔接起来,运用烧录东西将hex文件下载到EPF10K10TC144-4中。

4 定论

在实践的FPGA开发中,选用Modelsim + Synplify + Quartus II的EDA东西组合能很好地规划规划流程,充分运用各EDA东西的长处,进步开发功率。

本文作者立异点在于将FPGA开发进程中的多种EDA东西有机地结合在一起,并经过一个CPU的规划实例证明了运用多种EDA东西进行FPGA协同规划的可完结性。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/86423.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部