赞
踩
大约每18个月芯片的集成度提高1倍,功耗下降1倍。
他的预言被人们称作
摩尔定律。几十年来。集成电路的发展与这个预言非常吻合,
数字器件经历了从 SSI,MSI,LSI 到 VLSI,直到现在的SoC(System on Chip,芯片系统)
,我们已经能够把一个完整的电子系统集成在一个芯片上。还有一种器件的出现极大改变了设计制作电子系统的方式与方法,这就是
可编程逻辑器件(Programmable Logic Device,PLD)。PLD器件是20世纪70年代后期发展起来的一种器件,它经历了可编程逻辑阵列(Programmable Logic Array,PLA)、通用阵列逻辑(Generic Array Logic,GAL)等简单形式到
现场可编程门阵列(Field Programmable Gate Array,FPGA)
和复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)的高级形式的发展,它的广泛应用不仅简化了电路设计,降低了研制成本,提高了系统可靠性,而且给数字系统的整个设计和实现过程带来了革命性的变化。
电子CAD(Computer Aided Design)
、
电子CAE(Computer Aided Engineering)
到
电子设计自动化(Electronic Design Automation,EDA)
,设计的自动化程度越来越高,设计的复杂性也越来越强。
EDA(电子设计自动化)技术没有一个精确的定义,我们可以这样来认识,所谓的EDA技术就是以计算机为工作平台,以EDA软件工具为开发环境,以PLD器件或者ASIC专用集成电路为目标器件设计实现电路系统的一种技术。
IP(Intellectual Property)核在电子设计领域得到广泛应用,基于IP核的SoC(System on Chip,芯片系统)设计技术趋向成熟,电子设计成果的可重用性进一步提高。
SoPC(System on Programmable Chip,可编程芯片系统)
步入实用化阶段,在一片FPGA芯片中实现一个完备的系统成为可能。EDA技术和EDA工具还呈现以下共同特点。
硬件描述语言(Hardware Description Language,HDL)
进行电路与系统的描述是当前EDA设计技术的另一个特征。目前最常用的硬件描述语言是Verilog HDL
,VHDL
,他们都已成为IEEE
标准。行为级(Behavior Level)
或寄存器传输级(Register Transport Level,RTL)
描述的HDL文件进行逻辑综合,并进行逻辑优化。在基于EDA技术的设计中,通常由两种设计思路:一种是自顶向下的设计思路,另一种是自底向上的设计思路。
Top-down 设计,即自顶向下
的设计。这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。
在功能级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,然后用综合工具将设计转化为具体门电路网表
(这里看出综合就是软件的编译,只不过这里编译出了真实的电路),其对应的物理实现可以是PLD器件或专用集成电路(ASIC)。由于设计的主要仿真和调试过程是在高层次
上完成的,这一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
在 Top-down 的设计中,将设计分成几个不同的层次:系统级、功能级、门级和开关级等,按照自上而下的顺序,在不同的层次上,对系统进行设计与仿真。(上面说的高层次,在这里是RTL)
Bottom-up 设计,即自底向上的设计,这是一种传统的设计思路,这种设计方式,一般是设计者选择标准集成电路,或者将各种基本单元,如各种门电路以及加法器、计数器等模块做成基本单元库,调用这些基本单元,逐级向上组合,直到设计出满足自己需要的系统为止。这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高,而且容易出错。
Top-down 的设计由于更符合人们逻辑思维的习惯,也容易使设计者对复杂的系统进行合理的划分与不断的优化,因此是目前设计思想的主流。而 Bottom-up 的设计往往使设计者关注了细节,而对整个系统缺乏规划,当设计出问题时,如果需要修改,就会比较麻烦,甚至前功尽弃,不得不从头再来。因此,在数字系统的设计中,主要采用 Top-down 的设计思路,而以 Bottom-up 设计为辅。
当电子系统的设计越来越向高层发展时,基于 IP 复用(IP Reuse)
的设计越来越显示出优越性。IP(Intellectual Property)
,其原来的含义是指知识产权、著作权等,在IC设计领域可将其理解为实现某种功能的设计,IP 核(IP 模块)则是指完成某种功能的设计模块。
IP 核分为硬核、固核和软核三种类型。
基于IP复用的开发给设计者带来了诸多好处,如节省时间、缩短开发周期等。
系统芯片(SoC),或者成为芯片系统、片上系统,是指把一个完整的系统集成在一个芯片上;或者说是用一个芯片实现一个功能完整的系统。
数字系统的实现主要可选择两类器件,一类是可编程逻辑器件(PLD),另一类是专用集成电路(ASIC),这两类器件各有自己优点。
基于 FPGA/CPLD 器件的数字系统设计流程,包括设计输入、综合、布局布线、仿真和编程下载等步骤。
设计输入(Design Entry)是将设计者所设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程。设计输入
有多种表达方式
,最常用的是原理图方式
和HDL文本方式
两种。
PLD器件的设计往往采用层次化的设计方法,分模块、分层次地进行设计描述。描述器件总功能的模块放置在最上层,称为顶层设计
;描述器件最基本功能的模块放置在最下层,称为底层设计
。一般做法是:在顶层设计中,使用图形法表达连接关系和芯片内部逻辑到引脚的接口;在底层设计中,用硬件描述语言描述各个模块的逻辑功能。
综合是一个很重要的步骤,综合是指将较高级抽象层次的设计描述自动转化为较低层次描述的过程。综合有以下几种形式。
综合器就是能自动实现上述转换的软件工具。或者说,综合器是能够将原理图或 HDL 语言表达、描述的电路
编译成由与或阵列、RAM、触发器、寄存器等逻辑单元组成的电路结构网表的工具。
硬件综合器和软件编译器有着本质区别,软件编译器将C或者汇编语言编译为0,1代码流,而硬件综合器则是将用硬件描述语言编写的程序代码转化为具体的电路网表结构。
布局布线,或称为适配,可以理解为将综合生成的电路逻辑网表映射到具体的目标器件中实现,并产生最终可下载文件的过程。
布局布线完后产生如下一些重要文件。
用于 FPGA 配置的 SOF
,JAM,BIT 等格式的文件。仿真也称为模拟,是对所设计电路的功能的验证。仿真包括功能仿真和时序仿真。
把适配后生成的编程文件装入 PLD 器件中的过程称为下载。通常将对基于 EEPROM 工艺的非易失结构 CPLD 器件的下载称为编程,而将基于 SRAM 工艺结构的 FPGA 器件的下载称为配置。
• 由 青梅煮久 写于 2023 年 6 月 26 日
• 参考:
《数字系统设计与Verilog HDL》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。