SOC设计基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全定制法 ASIC设 计方法 半定制法 门阵列法
标准单元法
可编程逻辑器件法
通用ASIC设计流程(续)
需求分析、 功能定义、 确认工艺 库
ASIC设计 与FPGA设 计区别
内容
FPGA与CPLD FPGA设计流程
通用ASIC设计流程
IC设计常用工具介绍 ASIC中心SOC设计流程
集成开发套件
内容
FPGA与CPLD FPGA设计流程
通用ASIC设计流程
IC设计常用工具介绍 ASIC中心SOC设计流程
FPGA设计流程
一般的FPGA设计流程
设计输入 行为仿真 综合优化 功能仿真 布局布线 时序仿真 下载配置
⑴设计输入
1)设计输入,利用HDL文本输入工具、原理图输入工具、IP输入工 具等把所要设计的电路描述出来。 工具:Altera的QuartusII、Xilinx(赛灵思)的ISE ① 图形输入:原理图输入、状态图输入、波形图输入 原理图方式应用比较广泛,原理图输入对原理图进行功能验证后再进行 编译即可转换为网表文件。但此方法一般仅适用于小电路。对于稍大 的电路,其可读性、可移植性差。 波形图主要应用于仿真功能测试时产生某种测试信号或激励。 状态图常用于建模中。 ② HDL文本输入:主流输入方式,是最有效的方式,包括 Verilog HDL和VHDL。其可读性、可移植性好、便于存档。 ③ IP核输入:直接调用一些成熟的IP核进行配置和使用
Mentor Graphic公司出品。
仿真/验证工具
Modelsim:VHDL/Verilog仿真软件,功
SOC
SOC设计基础
2011.8.19
内容
FPGA与CPLD FPGA设计流程
通用ASIC设计流程
IC设计常用工具介绍 ASIC中心SOC设计流程
什么是FPGA?
FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在 PAL(Programmable Array Logic) 、GAL(Globle Programmable Logic)、 EPLD(Electrically Programmable Logic Device )等可编程器件的基础上进一步 发展的产物 它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了 定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的使 用非常灵活,同一片FPGA通过不同的编程可以产生不同的电路功能。 专用集成电路(ASIC)分为两类:
⑶综合
3)综合,也称为综合优化,是将前面输入的原理图、HDL语言描述 转化为最基本的与或非门的连接关系(门级网表netlist)的过程,并 根据要求(约束条件)优化所生成的门级逻辑连接,输出vqm/edf/edn 等文件,导给FPGA/CPLD厂家的软件进行实现和布局布线。 常用的综合工具有Synplicity公司的Synplify/Synplify Pro、Synopsys的 Design Compiler(DC),Cadence的 PKS等。 是从抽象到具体实现的关键步骤。将较高层次的电路描述转化为较低 层次的电路描述,具体而言,就是将设计代码转化为底层的与或非门、 触发器等基本逻辑单元互联而成的网表。 为达到性能要求,往往对综合加以约束。 综合出来的电路在面积、时序等目标参数上要达到标准。逻辑综合需 要基于特定的综合库,不同的库中,门电路基本标准单元的面积、时 序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在 时序,面积上是有差异的。因此综合的结果不是唯一的 综合效果的终极评定标准:面积、速度。当二者冲突时,速度优先
⑵行为仿真
2)行为仿真 ,即前仿真(也称为综合前仿真),是RTL行为级仿真。 利用Modelsim、VCS等仿真工具对设计进行验证,检验设计的功能是 否正确。 常用的仿真工具有Mentor Graphic的ModelSim,Synopsys的VCS, Cadence的NC-Verilog/NC-VHDL等。 该阶段仿真验证的代码是不可综合的,与具体电路无关。可以用来检 查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。 如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿 真也可以做到与器件无关。 所谓的可综合的Verilog语法,是指硬件能够实现的一些语法,也称为 RTL(寄存器传输级)语法。可综合的语法是Verilog可用语法中很小 的一个子集。
⑷功能仿真
4)功能仿真(即综合后仿真),综合后的门级功能仿真。是对综合优 化后的,可以实实在在成为硬件的门级网表进行的验证,但不包含任 何布局布线的延时信息。 之所以叫门级仿真是因为综合工具给出的仿真网表已经与生产厂家器 件的底层元件模型对应起来了,所以为了进行综合后仿真必须在仿真 过程中加入厂家的器件库,对仿真器进行一些必要的配置,不然仿真 器并不认识其中的底层元件,无法进行仿真。 使用的工具和前仿真是一样的,还是ModelSim 、VCS等 常用的验证方法是等价性检查(Equivalence Check)方法,即以前仿真 后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存 在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描 述的电路功能。
行为仿真 设计输入
功能仿真 (可省略)
综合优化
时序仿真
布局布线
板级调试
下载配置
设计的验证过程
内容
FPGA与CPLD FPGA设计流程
通用ASIC设计流程
IC设计常用工具介绍 ASIC中心SOC设计流程
通用ASIC设计流程
ASIC分为:数字ASIC、模拟ASIC、数模混合ASIC ASIC设计方法
③CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FAST FLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存 放在外部存储器上,使用方法复杂,需要先把代码烧写进专门的配置芯片 (比如我们测试用的DE3板,就有专门的配置芯片EPCS64/128)。
FPGA与CPLD的比较(续)
全定制集成电路——按规定的功能、性能要求,对电路的结构布 局、布线均进行专门设计,生产出芯片。 半定制集成电路——由厂家提供一定规格的功能块,如门阵列、 标准单元、可编程逻辑器件等,按用户要求利用专门设计的软件 进行必要的互连,从而设计出所需要的集成电路。
FPGA的结构特点
FPGA通常包含三类பைடு நூலகம்编程资源:可编程逻辑功能块、可编程I/O块和 可编程互连。 可编程逻辑功能块:实现用户功能的基本单元,它们通常排列成一个 阵列,散布于整个芯片; 可编程I/O块:完成芯片上逻辑与外部封装脚的接口,常围绕着阵列 排列于芯片四周; 可编程内部互连:包括各种长度的连线线段和一些可编程连接开关, 它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。
时序验证的主要方法是静态时序分析(STA,Static Timing Analysis) STA—主要是在时序上对电路进行验证,检查电路是否存在建立时间 (setup time)、保持时间(hold time)的违例(violation)。 这个是 数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法 正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯 定会出现问题。
⑸布局布线
5)布局布线,综合的结果只是通用的门级网表,只是一些门电路的逻 辑关系,与芯片实际的配置情况还有差距。此时应该使用FPGA/CPLD 厂商提供的实现(一般分三步:翻译、映射、布局布线)工具,根据所 选芯片的型号,进行芯片内部功能单元的实际连接与映射。 实现与布局布线工具一般要选用所选器件的生产商开发的工具,因为 只有生产者最了解器件内部的结构,如在Xilinx ISE集成环境中完成实 现与布局布线的工具是Flow Engine。
Quartus II 是Altera公司的综合性PLD开发套件,支持原理图、 VHDL、VerilogHDL及AHDL等多种设计输入形式,内 嵌自有的 综合器以及仿真器,可以完成从设计输入到硬件配置 的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用 Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。 具有运行速度快,界面统一,功能集中,易学易用等特点。 Xilinx(赛灵思)是全球领先的可编程逻辑完整解决方 案的供应商。Xilinx研发、制造并销售范围广泛的高 级集成电路、软件设计工具以及作为预定义系统级功 能的IP核硬件设计工具。 ISE是其集成开发套件,是首屈一指的PLD设计环 境 ,ISE将先进的技术与灵活性、易使用性的图形界 面结合在一起,都让开发人员在最短的时间内,以最 少的努力,达到最佳的硬件设计。
⑹时序仿真
6)时序仿真,是在功能仿真的基础上包含了电路的时序延时信息,是 最接近真实器件运行特性的仿真,仿真精度高。其目的是保证设计满 足时序要求,以便数据能被正确的采样。 在后仿真中将布局布线的延时反标到设计中去,使仿真既包含门延时, 又包含布线延时信息。这种后仿真是最准确的仿真,能较好反映芯片 的实际工作情况。 工具:ModelSim、VCS或QuartusII、Xilinx ISE集成的仿真工具 输入文件:门级网表、testbench、标准延时文件(.sdf,Altera中.sdo)
④CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于 FPGA是门级编程,CLB之间采用分布式互联;CPLD是逻辑块级编程。 ⑤在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程 次数可达1万次,优点是系统断电时编程信息也不丢失。FPGA大部分是 基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外 部将编程数据重新写入SRAM中。优点是可以编程任意次,可在工作中 快速编程,从而实现板级和系统级的动态配置。
典型的FPGA结构
什么是CPLD?
CPLD主要是由可编程逻辑宏单元(LMC Logic Macro Cell)围绕中心 的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂 的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成 一定的功能。
FPGA与CPLD的比较
①CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而 FPGA的分段式布线结构决定了其延迟的不可预测性。 ②在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定 内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程。
⑺下载配置
7)编程下载与配置,功能、时序均满足设计要求后,使用开发工具 全编译后下载到器件中进行板级调试。 Altera:在QuartusII中进行全编译后,配置好目标器件的各项参数,生 成一个或多个Programmer对象文件(.pof)或SRAM对象文件(.sof), 作为布局布线后的包含器件、逻辑单元和引脚分配的编程文件,下载 到开发板进行调试。
综合工具
Design Compiler(DC): VHDL/Verilog 综合软件,Synopsys公司出品。 Synplify:VHDL/Verilog 综合软件, 口碑相当不错,Synplicity公司出品。 Spectrum:VHDL/Verilog综合软件,
可以加比较多的约束条件。可控性较强,
FPGA设计特点
FPGA设计的最大特点就是迭代性很强,并不是一个简单的顺序流程。 在开发过程中,设计者在仿真验证中一旦发现问题,往往需要回到前 面的步骤重新审查、修改,然后重新综合、布局布线、仿真验证,直 到最终的设计符合要求。
FPGA开发流程
FPGA设计特点(续)
对于任何一个工程,开发团队一般不会严格执行所有三次仿真,通常而言, 行为仿真和时序仿真就已经足够。
相关文档
最新文档