早期电子系统硬件设计采用分立元件,随着集成电路的出现和应用,人们选用功能固定的标准集成电路(例如各种逻辑门,编码器,译码器,触发器,和计数器等)构成硬件系统,后来,又以微处理器为核心构成系统,现在则广泛采用专用集成电路(ASIC)来构成系统,一个复杂的数字系统只要一片或则是几片ASIC即可实现。

制作ASIC的方法大致分为两种,一种是掩膜处理方法(掩膜处理是IC的一种制作工艺,指在IC的不同制造阶段需要处理晶片上的不同位置,这就需要遮住其他的不需要处理的地方,称为不同的掩膜层),由半导体厂家制造;另一种是使用现场可编程器件实现,用户通过计算机和EDA开发工具,将所设计的电路或则是系统“编程”到芯片上,就可以得到一块专用集成电路。

1.1      可编程逻辑器件

        可编程逻辑器件PLD(Programmable Logic Device)就是一种可以由用户定义和设置逻辑功能的数字集成电路,属于可编程 ASIC。PLD的种类较多,目前广泛使用的PLD器件主要是复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)和现场可编程门阵列FPGA(Field Programmable Gate Array) .

CPLD器件内部含有许多逻辑块和连线资源,而逻辑块由与-或阵列和触发器等构成,逻辑块的功能由用户编程决定。逻辑块之间,逻辑块与芯片外部可以通过可编程的连线资源实现信息交换。通常CPLD器件采用COMS  E2PROM工艺制作,当用户的逻辑写入后即使掉电也不会丢失。通常CPLD内部还集成了E2PROM,FIFO,或则是双口RAM,以适应不同功能的数字系统设计。

FPGA是另一类可编程逻辑器件,在结构上与CPLD有很大的差别,电路设计不受与-或阵列结构的两级组合逻辑限制。芯片内部主要由许多可编程逻辑模块组成,靠纵横交错的分布式可编程互联线连接起来,可构成极其复杂的逻辑电路。它更适用于实现多级逻辑功能,并且具有更高的集成密度和应用灵活性。目前,主要有基于COMS SRAM工艺制造的FPGA和基于反熔丝工艺制造的FPGA两种类型。由于SRAM中数据理论上可以进行无数次的写入,所以基于SRAM技术的FPGA可以进行无限次编程。但是,SRAM具有数据易失性的特点,即一断电,其原有的逻辑功能将消失,所以在使用这类FPGA时外部需要一个PROM保存编程数据,上电后FPGA先从读入编程数据进行初始化,然后才开始正常工作。基于反熔丝技术的FPGA则只能编程一次,此类FPGA比较适合定型产品和大批量应用。

可编程逻辑器件是组成数字逻辑系统的理想器件,设计时只需要通过定义器件内部的逻辑和输出/输入引脚,就可以实现各种逻辑功能,而且由于定义引脚的灵活性,大大减轻了电路图和电路板设计的工作量和难度,从而有效地增加了设计的灵活性,提高工作效率。和ASIC相比,这种方法的缺点是单片成本较高,电路的性能受到PLD器件的限制,很难实现高性能或有特殊要求的设计。

1.2        专用集成电路

         ASIC芯片主要由半导体厂家采用半定制的方法制造,常用的有门阵列(Gate Array)和标准单元(Standard Cell)两种类型。门阵列和标准单元的内部结构不同,使用的制造技术也不一样,因而他们的成本,生产时间,效率也不一样。

门阵列是一种用掩膜版编程的集成电路设计技术。门阵列技术包括COMS门阵列,射极耦合逻辑(ECL)门阵列,BiCMOS门阵列,数字和模拟兼容门阵列。半导体厂家预先在芯片上制备逻辑门或元件的规则阵列,一直加工到互连线光刻之前一道工序,这样的半成品芯片被称为门阵列母片。然后,厂家根据客户的要气,设计互连线版图并进行制版及光刻加工,芯片就成为一个满足用户要求的专用集成电路。因此,门阵列母片可以大量生产,只需改变互连线版图,即可适应多品种的要求。通常编程的工艺层只限于最后的互连线(单层或多层布线层)。门阵列设计技术的优点是周期短,成本低,成功率高,可靠性好;但也存在着设计不够灵活,门的利用率低,功耗较大等缺点。

标准单元是目前使用较多的一种半定制芯片。半导体厂家预先设计好具有一定逻辑功能的单元电路(如触发器,加法器,计数器和RAM等),并且这些单元电路的布局布线工作已经完成,经过严格的测试,能保证逻辑功能和良好的时序功能,然后以标准单元库的形式提供给设计者。ASIC设计者能把这些已经具有一定功能的单元连接到一起实现所需要的功能,就像印制电路板设计者在PCB板上将那些具有特定功能的逻辑器件进行连接时一样的。当然,需要设计者利用半导体厂商提供的布局布线工具将这些逻辑单元尽可能以最优化的方式布局布线到晶片上。

与门阵列不同的是,尽管这些标准逻辑单元已经预先设计好,但并不预先放到晶片中(因为厂家事先不知道设计者的设计情况,没有一种通用的方式决定各种逻辑单元使用的数量和具体的摆放位置)。因而标准单元设计没有母片的概念。每块晶片都是根据设计者的需求临时制作的,晶片内部最基本的晶体管都是现场刻制的。所以,标准逻辑单元的生产周期较门阵列较长。由于标准单元的每一层掩膜都是根据不同用户的需求定制的,用户不能共享开发成本,因而标准单元专用集成电路的试制费比门阵列专用集成电路要高。

标准单元结构的优点是晶片体积小,可以支持很复杂的设计,批量生产单片成本低,用户定制性好。对于门阵列来说,母片是事先生产好的,他的晶片尺寸已经固定下来,片内的资源也是均匀分布在片内,许多资源可能得不到充分利用。但是,对于标准单元来说,只有需要的标准单元才会被放置到晶片中,所以晶片的尺寸越小,每块晶圆能够切割的晶片数量就越多,单片的成本越低。这是在大批量生产时标准单元结构专用集成电路的优势。

为适应产品尽快上市的要求,现在ASIC设计越来越多地采用预先验证好的IP核(如存储器,视频编码解码器等)。

IP核通常分为三种形式:硬核(Hard Core),软核(Soft Core)和固核(Firm Core).

硬核:把在某一种专用集成电路工艺的(ASIC)器件上实现的,经验证是正确的,总门数在5000门以上的电路结构版图掩膜称为“硬核”。硬核以集成电路版图形式提交,经过实际的工艺流片验证,与工艺相关,实用价值高。COMS的CUP,DRAM,SRAM,E2PROM和Flash Memory以及A/D,D/A等都可以成为硬核,由于经过版图设计优化,IP硬核通常具有面积小,功耗低和性能高的特点,故可以被新的设计作为特定功能模块直接调用。但是由于用户得到的硬核一般是封装好的行为模块,故用户只能从外部测试硬核的性能,无法根据应用的需要进行修改和优化,也不能改变它的布局和工艺。

软核:通常包括逻辑描述(RTL级和门级的HDL代码),电路网表和未物理实现的用于测试的文档等。与硬核相比,软核的灵活性最大,用户可以对软核的描述进行修改以符合自己的设计,然后综合到选定厂商的工艺上,通过布局布线实现具体的电路。

固核:把在某一种现场可编程逻辑门阵列(FPGA)器件上实现的,经验证是正确的,总门数在5000门以上电路结构编码文件称为“固核”。介于硬核和软核之间,是可综合的,带有布局规则的的软核。他通常以RTL代码和对应具体工艺的电路网表混合描述的形式提交给用户,它具有一定的灵活性。允许用户重新定义关键的性能参数,内部连线也可以重新优化。

      1,系统功能级设计

系统功能级设计是最高一级的设计,主要是根据系统的设计要求(包括系统的功能,性能,尺寸,功耗等),确定系统的输入,输出信号,确定实现功能的算法,最后要给出系统的整体结构框图,主要模块的输入,输出信号及他们之间的关系,并确定每个模块做什么,但不必管模块内部如何实现指定的功能。划分功能块的原则是:既要使功能块之间的连线尽可能的少,接口清晰;又要求功能块规模合理,便于各个功能块各自独立设计。

接着是根据电路功能的动能,性能指标,接口标准等进行功能级描述(也称行为描述),即对整个系统进行建模和仿真,并不考虑其实际的操作和算法用什么方法实现。功能级描述可以用HDL或C/C++等语言书写。在功能级描述的系统结构程序,其抽象程度很高,很难直接映射成具体的门电路。

2,寄存器传输级设计

在系统功能级设计完成之后,系统已经被划分为较小的功能模块,接下来要进行模块级的设计,包括模块的详细功能,算法,实现,接口时序,性能要求和子模块设计等内容。

在模块的设计规范完成之后,接着进入RTL(Register Transfer Level)设计阶段,包括模块代码的编写,仿真验证等。所谓RTL设计就是把比较抽象的系统级功能描述转换成能直接映射到具体逻辑单元(如移位寄存器,计数器,存储模块等)的硬件电路描述。

在RTL级,设计者可以使用HDL或原理图进行模块设计的描述。原理图适合于描述模块之间的连接关系和接口关系,而HDL则适合于描述逻辑功能,所以顶层(仅含模块之间的连接关系)采用原理图,其他情况采用HDL设计。在完成RTL级的模块描述后,要使用逻辑仿真器进行模拟(仿真)与验证,检查各模块的逻辑功能是否正确。然后,将通过仿真的各模块集成在一起,对整个系统进行功能仿真。这一阶段的仿真没有包括任硬件电路的任何时间信息,因此,只能从逻辑功能方面对设计进行验证。

注意:以上设计过程与具体的实现工艺无关。

 

    3,逻辑综合 

      完成RTL级功能验证之后,进入逻辑综合阶段。逻辑综合就是将HDL描述转化为硬件电路(门级电路)的过程。从逻辑综合开始,设计过程与工艺相关联,不同的实现方式应选用不同的综合工具。对于ASIC芯片实现设计的用户,应选用IC综合工具;对于选用FPGA/CPLD设计用户,由于这类器件结构的特殊性,应选用FPGA/CPLD设计用户,由于这类器件结构的特殊性,应选用FPGA/CPLD厂家提供的专用综合工具。

在一定的设计约束条件(即总体要求中提出的电路性能指标)下,并与适当的单元库相结合,RTL描述可以通过逻辑综合软件自动地转化成门级逻辑网表(即元器件以其连接关系)。然后,通过相应的逻辑仿真软件验证逻辑功能的正确性。与前面寄存器传输级仿真不同的是:完成逻辑综合后的门级仿真包括了门级电路单元的延时信息,但没有包括单元电路之间的连线延时信息,因此,该仿真仍然属于功能验证的范畴,通常称为“前仿真”。

说明:在ASIC设计中,将以上设计过程成为“前端仿真”。

  4,设计实现

  对于不同的硬件实现方式,其设计实现过程不同。

  对于用FPGA/CPLD实现设计的用户,在逻辑综合完成后,必须利用FPGA/CPLD适配器将综合得到的网表文件针对某一具体器件进行逻辑映射操纵,包括底层器件配置,逻辑划分,逻辑优化,布局布线,适配完成后会产生三个文件:

1,时序仿真模型,即一个带有连线延时和门级延时信息的网表文件;

2,供器件编程用的数据文件;

3,适配报告文件,包括芯片内部资源利用情况,设计的布尔方程描述等。

  后面的东西都是以工艺有关的,看的不是很懂,通常将IC的版图设计称为“后端设计”。

  Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路。所谓综合(Synthesis)是指将Verilog HDL程序、原理图等设计输入翻译成由与门(and)、或门(or)、非门(not)等基本逻辑单元组成的门级连接,并根据设计目标和要求对门级逻辑连接进行优化,得到优化的门级网表文件。

  Verilog HDL主要有三种建模方式:

  4.1结构级建模

  结构级建模包括门级建模和分层建模两种情况。门级建模就是将逻辑电路图用Verilog HDL规定的文本语言表示出来,即调用Verilog HDL中内置的基本门级元件(Gate Level Primitives,门级源语)描述逻辑图中的元件以及元件之间的连接关系。分层次就是将一个数字系统划分为多个组成模块,再分别对每个模块建模,然后将这些模块组合成一个总模块,完成所需的功能。

Verilog HDL中内置了12个基本门级元件模型,门级元件的输出、输入必须为网类型的变量。当使用这些元件逻辑仿真时,仿真软件会根据程序描述给每个元件中变量分配逻辑0,逻辑1,不确定态x和高阻态z这4个值之一。

  这些门可分为:多输入门,多输出门,三态门。

  4.2数据流建模

  对于基本单元逻辑电路,使用Verilog HDL提供的门级元件模型描述电路非常方便,但随着电路复杂性的增加,当使用的逻辑门较多时,使用Verilog HDL门级描述的工作效率就很低。数据流建模的抽象级别介于门级和行为级之间,它是行为级建模的一种形式,组合电路的逻辑行为最好使用数据流建模方式。

  数据建模使用的基本语句是连续赋值语句,连续赋值语句用于对wire型变量进行赋值,它由关键词assign开始,后面跟着操作数和运算符组成的逻辑表达式。

  例如:

  wire  a,b,sel,out;  //declare four wires variables

  assign out = (a& (~b)) | (b & sel);  //a continuous assignment

  连续赋值语句的执行过程是:只要逻辑表达式右边变量的逻辑值发生变化,则等式右边表达式的值会立即被计算出来并赋给左边的变量。注意:在assign语句中,左边变量的数据类型必须是wire型。

  4.3行为级建模

  行为级建模就是以抽象的形式描述数字逻辑电路的功能和算法,在Verilog HDL 中,行为级建模主要使用由关键词initialalways定义的两种结构类型的描述语句。一个模块内部可以包含多个initial或always语句,仿真时这些语句同时执行,即与它们在模块内部排列的顺序无关,仿真都从0时刻开始执行。initial语句主要是一条面向仿真的过程语句,不能用来描述硬件电路的功能。

  在always结构型语句内部有一系列过程赋值语句,用来描述电路的行为(功能)。过程性赋值语句包括在结构型的语句内部使用的逻辑表达式、条件语句(if-else)、多路分支语句(case-endcase)和循环语句等。

  顺序语句块就是由块标识符begin...end保卫界定的一组行为描述语句,其作用是:相当于给块中的这组行为描述语句进行打包处理,使之在形式上与一条语句一致。在这个模块内部的各条语句按照书写的先后顺序依次执行。在Verilog HDL中,可以给每个语句块取一个名字,方法是:在关键词begin后面加上一个冒号,之后给出名字即可。取了名字的块被称为有名块

https://www.cnblogs.com/luckybag/articles/3916498.html

可编程逻辑器件与专用集成电路——《Verilog 与数字ASIC设计基础》读书笔记相关推荐

  1. 《数字图像处理》读书笔记2:数字图像处理基础

    <数字图像处理>读书笔记2:数字图像处理基础 1 人类视觉感知 1.1 眼睛构造图 1.2 基本概念: 1.2.1 亮度适应(Brightness Adaptation) 1.2.2 主观 ...

  2. 《数字图像处理》读书笔记1:绪论

    <数字图像处理>读书笔记1:绪论 1 基本概念 1.1 函数f(x, y) 1.2 数字图像(Digital Image).像素 1.3 电磁波谱(Electromagnetic Spec ...

  3. 《世界是数字的》读书笔记第一部分_硬件篇

    <世界是数字的>是一部科普读物,出自顶尖计算机科学家Brian W.Kernighan之手,如果你不知道此人是谁的话,那么你或许知道The Practice of Programming( ...

  4. 冯建文《数字电路设计》读书笔记

    目录 第一章 数电概述 一.数字与模拟 二.数制 三.常用编码 四.逻辑抽象与状态编码 第二章 逻辑代数基础 一.逻辑函数 二.逻辑运算​编辑 三.常用的逻辑代数定律 四.逻辑代数运算规则 五.逻辑函 ...

  5. 冈萨雷斯《数字图像处理》读书笔记(十一)——表示和描述

    虽然不是专门研究图像分割的(峰兄才是),但多少接触了一点,并且图像分割是图像处理中的最为复杂的,通过图像分割可以很好地认识图像处理的好多方法.今天看的是边界追踪和链码的表示.网易计算机视觉工程师的第一 ...

  6. 《贝佐斯的数字帝国》读书笔记

    最近有幸读到一本好书:<贝佐斯的数字帝国>,收获还是颇丰,特此记录一些要点. 亚马逊核心管理思想及体系                                       模块1 ...

  7. 世界是数字的重点读书笔记(计算机科普知识)

    <世界是数字的>是世界顶尖计算机科学家Brian W.Kernighan写的一本计算机科普类读物,简明扼要但又深入全面地解释了计算机和通信系统背后的秘密,适合计算机初学者和非计算机专业的人 ...

  8. 《世界是数字的》读书笔记

    <世界是数字的>是世界顶尖计算机科学家Brian W.Kernighan写的一本计算机科普类读物,简明扼要但又深入全面地解释了计算机和通信系统背后的秘密,适合计算机初学者和非计算机专业的人 ...

  9. 《世界是数字的》读书笔记(计算机科普知识)

    <世界是数字的>是世界顶尖计算机科学家Brian W.Kernighan写的一本计算机科普类读物,简明扼要但又深入全面地解释了计算机和通信系统背后的秘密,适合计算机初学者和非计算机专业的人 ...

最新文章

  1. webstorm同时打开多个project方法
  2. POJ3762 时间段用k次
  3. SpringBoot - 优雅的实现【参数分组校验】高级进阶
  4. 使用Samba服务器构建私有和公共共享目录
  5. python 熊猫_python之pandas简单介绍及使用(一)
  6. 多媒体计算机属于哪种教学,多媒体计算机属于哪种教学媒体(???)。
  7. ucenter 显示通信成功的条件
  8. java反射三种方法_Java基础入门要学哪些 怎么掌握反射和枚举
  9. mysql在windows启动_MySQL笔记:mySQL在windows环境启动
  10. svnant-不可映射字符编码
  11. java递归实现汉字组词穷举_Javascript迭代、递推、穷举、递归常用算法实例讲解...
  12. c语言中的符号总结,C语言中的符号总结
  13. 20考研率辉计算机复试(贪心法)
  14. 零基础小白深度学习入门篇
  15. 监控摄像机的视频摘要(Video Summarization of Surveillance Cameras)
  16. ajax removeclass,我执行ajax后怎么不能$(this).removeClass(disabled);
  17. python语言表白语句简单_简短的表白情话
  18. vuetify学习第6天之v-btn-toggle---按钮组
  19. 狗生活在陆地上 java,第四晚,生活在陆地上的鱼
  20. __CTOR_LIST__和__DTOR_LIST__解释

热门文章

  1. Field xxxMapper in xxxServiceImpl required a bean of type XxxMapper解决方法
  2. 权威机构统计:2021 年最佳数据中心网络公司,中国华为和H3C上榜
  3. 阅读笔记--操作系统(清华大学公开课)
  4. 【一起入门MachineLearning】中科院机器学习第3课-朴素贝叶斯分类器
  5. 大数据时代如何保障数据安全
  6. 毕业设计 RFID智能门禁系统 - 单片机 物联网 嵌入式
  7. iOS CocoaPods1.0.0的一些基础知识
  8. GDM, KDM, LightDM, SDDM的区别和安装配置
  9. 语法分析:自上而下分析(递归下降分析法+预测分析法)
  10. 绕不开的一元二次方程