第7章 ASIC设计ppt课件_第1页
第7章 ASIC设计ppt课件_第2页
第7章 ASIC设计ppt课件_第3页
第7章 ASIC设计ppt课件_第4页
第7章 ASIC设计ppt课件_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7 7章章 ASICASIC设计设计 第第7 7章章 ASICASIC设计设计第第7 7章章 ASICASIC设计设计 第第7 7章章 ASICASIC设计设计v7.1 ASIC7.1 ASIC的设计手段的设计手段 v7.2 GAL7.2 GAL器件的编程及运用器件的编程及运用 v7.3 CPLD/FPGA7.3 CPLD/FPGA器件的编程及运用器件的编程及运用 v7.4 SOPC7.4 SOPC简介简介 第第7 7章章 ASICASIC设计设计 7.1 ASIC7.1 ASIC的设计手段的设计手段 v7.1.1 ASIC7.1.1 ASIC设计的开展历程设计的开展历程v集成电路的设计方

2、法和手段阅历了几十集成电路的设计方法和手段阅历了几十年的开展演化,从最初的全手工设计开年的开展演化,从最初的全手工设计开展到如今的可以全自动实现的过程。这展到如今的可以全自动实现的过程。这也是近几十年来计算机技术、半导体技也是近几十年来计算机技术、半导体技术和半导体集成电路技术等,尤其是电术和半导体集成电路技术等,尤其是电子信息技术开展的结果。从集成电路设子信息技术开展的结果。从集成电路设计手段的开展过程划分,集成电路的设计手段的开展过程划分,集成电路的设计手段阅历了手工设计、计算机辅助设计手段阅历了手工设计、计算机辅助设计计ICCADICCAD、电子设计自动化、电子设计自动化(EDA)(ED

3、A)、电子系统设计自动化电子系统设计自动化(ESDA)(ESDA)以及用户现以及用户现场可编程器场可编程器(FPGA)(FPGA)等阶段。等阶段。 第第7 7章章 ASICASIC设计设计 7.1.2 ASIC7.1.2 ASIC设计方法设计方法 v就就ASICASIC设计方法而言,集成电路的设计设计方法而言,集成电路的设计方法可分为全定制、半定制和可编程方法可分为全定制、半定制和可编程ASICASIC设计三种方式。设计三种方式。 第第7 7章章 ASICASIC设计设计 1 1全定制设计全定制设计 v全定制全定制ASICASIC是利用集成电路的最根本设计方法,是利用集成电路的最根本设计方法,

4、对集成电路中一切的元器件进展精工巧作要对集成电路中一切的元器件进展精工巧作要思索工艺条件,根据电路的复杂和难度决议器思索工艺条件,根据电路的复杂和难度决议器件工艺类型、布线层数、资料参数、工艺方法、件工艺类型、布线层数、资料参数、工艺方法、极限参数、废品率等要素的设计方法。全定极限参数、废品率等要素的设计方法。全定制设计可以实现最小面积,最正确布线规划、制设计可以实现最小面积,最正确布线规划、最优功耗速度积,得到最好的电特性。该方法最优功耗速度积,得到最好的电特性。该方法尤其适宜于模拟电路,数模混合电路以及对速尤其适宜于模拟电路,数模混合电路以及对速度、功耗、管芯面积、其它器件特性如线性度、功

5、耗、管芯面积、其它器件特性如线性度、对称性、电流容量、耐压等有特殊要求度、对称性、电流容量、耐压等有特殊要求的场所;或者在没有现成元件库的场所。的场所;或者在没有现成元件库的场所。 第第7 7章章 ASICASIC设计设计 全定制设计的主要特点全定制设计的主要特点v全定制设计的主要特点如下:全定制设计的主要特点如下:v需求丰富的阅历和特殊的技巧,需求掌握各种需求丰富的阅历和特殊的技巧,需求掌握各种微电子电路的设计规那么和方法微电子电路的设计规那么和方法, ,普通由专业普通由专业微电子微电子ICIC设计人员完成;设计人员完成;v常规设计可以自创以往的设计,部分器件需求常规设计可以自创以往的设计,

6、部分器件需求根据电特性单独设计;根据电特性单独设计;v规划、布线、排版组合等均需求反覆斟酌调整,规划、布线、排版组合等均需求反覆斟酌调整,按最正确尺寸、最合理规划、最短连线、最便按最正确尺寸、最合理规划、最短连线、最便利引脚等设计原那么设计幅员。利引脚等设计原那么设计幅员。v幅员设计与工艺相关,要充分了解工艺规范,幅员设计与工艺相关,要充分了解工艺规范,根据工艺参数和工艺要求合理设计幅员和工艺;根据工艺参数和工艺要求合理设计幅员和工艺;v设计要求高、周期长,设计本钱昂贵。设计要求高、周期长,设计本钱昂贵。第第7 7章章 ASICASIC设计设计 2.2.半定制设计半定制设计 v半定制设计方法又

7、分成基于规范单元的设计方半定制设计方法又分成基于规范单元的设计方法和基于门阵列的设计方法。半定制主要适宜法和基于门阵列的设计方法。半定制主要适宜于开发周期短,低开发本钱、投资、风险小的于开发周期短,低开发本钱、投资、风险小的小批量数字电路设计。小批量数字电路设计。v基于规范单元的设计方法是:将预先设计好的基于规范单元的设计方法是:将预先设计好的称为规范单元的逻辑单元,如门电路,多路开称为规范单元的逻辑单元,如门电路,多路开关,触发器,时钟发生器等,按照某种特定的关,触发器,时钟发生器等,按照某种特定的规那么陈列,与预先设计好的大型单元一同,规那么陈列,与预先设计好的大型单元一同,根据电路功能和

8、要求用掩膜版将所需的逻辑单根据电路功能和要求用掩膜版将所需的逻辑单元衔接成所需的公用集成电路。元衔接成所需的公用集成电路。 第第7 7章章 ASICASIC设计设计 半定制设计半定制设计v基于规范单元设计方法的主要特点基于规范单元设计方法的主要特点 v用预先设计、预先测试、预定特性的规用预先设计、预先测试、预定特性的规范单元库,省时、省钱、少风险;范单元库,省时、省钱、少风险;v设计人员只需确定规范单元的规划以及设计人员只需确定规范单元的规划以及单元的互连;单元的互连;v一切掩膜层是定制的;一切掩膜层是定制的;v制造周期较短,开发本钱不是太高;制造周期较短,开发本钱不是太高;v需求花钱购买或本

9、人设计规范单元库;需求花钱购买或本人设计规范单元库;v要花较多的时间进展掩膜层的互连设计。要花较多的时间进展掩膜层的互连设计。第第7 7章章 ASICASIC设计设计 半定制设计半定制设计v 基于门阵列的设计方法是在预先制定的具有晶体管阵基于门阵列的设计方法是在预先制定的具有晶体管阵列的基片或母片上,根据电路功能和要求经过掩膜互列的基片或母片上,根据电路功能和要求经过掩膜互连的方法完成公用集成电路设计。连的方法完成公用集成电路设计。v 用门阵列设计的用门阵列设计的ASICASIC中,只需上面几层用作晶体管互中,只需上面几层用作晶体管互连的金属层由设计人员用全定制掩膜方法确定,这类连的金属层由设

10、计人员用全定制掩膜方法确定,这类门阵列称为掩膜式门阵列门阵列称为掩膜式门阵列MGAMGAMasked Gate ArrayMasked Gate Array。v 门阵列中的逻辑单元称为宏单元,其中每个逻辑单元门阵列中的逻辑单元称为宏单元,其中每个逻辑单元的根本单元幅员一样,只需单元内以及单元之间的互的根本单元幅员一样,只需单元内以及单元之间的互连是定制的。客户设计人员可以从门阵列单元库中选连是定制的。客户设计人员可以从门阵列单元库中选择预先设计和预定特性逻辑单元或宏单元,进展定制择预先设计和预定特性逻辑单元或宏单元,进展定制的互连设计。的互连设计。 第第7 7章章 ASICASIC设计设计 半

11、定制设计半定制设计v基于门阵列的设计方法的主要特点:基于门阵列的设计方法的主要特点:v适宜于开发周期短,低开发本钱的小批适宜于开发周期短,低开发本钱的小批量数字电路设计;量数字电路设计;v门阵列根本单元固定,不便于实现存储门阵列根本单元固定,不便于实现存储器之类的电路;器之类的电路;v在内嵌式门阵列中,留出一些在内嵌式门阵列中,留出一些ICIC区域专区域专门用于实现特殊功能,如设计存储器模门用于实现特殊功能,如设计存储器模块或其它功能电路模块。块或其它功能电路模块。 第第7 7章章 ASICASIC设计设计 3. 3. 可编程可编程ASICASIC设计设计 v可编程可编程ASICASIC器件分

12、为可编程逻辑器件器件分为可编程逻辑器件PLDPLD和现场可编程门阵列和现场可编程门阵列FPGAFPGA两类。两类。v目前常用的可编程逻辑器件类型有:通用阵列目前常用的可编程逻辑器件类型有:通用阵列逻 辑 逻 辑 G A LG A L 和 复 杂 的 可 编 程 逻 辑 器 件 和 复 杂 的 可 编 程 逻 辑 器 件CPLDCPLD。v可编程逻辑器件的特点有:可编程逻辑器件的特点有:v无定制掩膜层或逻辑单元;无定制掩膜层或逻辑单元;v设计周期短;设计周期短;v单独的大块可编程互连;单独的大块可编程互连;v具有可编程阵列逻辑,触发器或锁存器组成的具有可编程阵列逻辑,触发器或锁存器组成的逻辑宏单

13、元矩阵。逻辑宏单元矩阵。 第第7 7章章 ASICASIC设计设计 可编程可编程ASICASIC设计设计v现场可编程门阵列现场可编程门阵列FPGAFPGA具有现场可具有现场可编程特性,普通地讲,现场可编程门阵编程特性,普通地讲,现场可编程门阵列比可编程逻辑器件规模更大、更复杂。列比可编程逻辑器件规模更大、更复杂。v现场可编程门阵列的主要特点有:现场可编程门阵列的主要特点有:v无定制掩膜层;无定制掩膜层;v根本逻辑单元和互连采用编程的方法实根本逻辑单元和互连采用编程的方法实现;现;v中心电路是规那么的可编程根本逻辑单中心电路是规那么的可编程根本逻辑单元阵列,可以实现组合逻辑和时序逻辑;元阵列,可

14、以实现组合逻辑和时序逻辑;v设计周期很短。设计周期很短。 第第7 7章章 ASICASIC设计设计 7.2 GAL7.2 GAL器件的编程及运用器件的编程及运用 vGALGAL逻辑器件具有如下特点:逻辑器件具有如下特点:v采用高速电可擦采用高速电可擦CMOSCMOS工艺制造的,工艺制造的,CMOSCMOS的低功耗特性;的低功耗特性;v可多次擦除和编程,适宜于学习和样机可多次擦除和编程,适宜于学习和样机研制;研制;v器件速度快,不低于任何其他器件速度快,不低于任何其他TTLTTL可编程可编程逻辑芯片的速度。逻辑芯片的速度。v在本书中,我们将引见两种开发言语在本书中,我们将引见两种开发言语FAST

15、MAPFASTMAP和和ABELABEL,并运用这两种言语来编,并运用这两种言语来编写写GALGAL器件的代码。器件的代码。第第7 7章章 ASICASIC设计设计 7.2.1 FASTMAP7.2.1 FASTMAP言语及其运用举例言语及其运用举例 v1. FASTMAP1. FASTMAP软件及言语规那么软件及言语规那么 v汇编软件汇编软件FASTMAPFASTMAP的作用是将用户输入的布尔的作用是将用户输入的布尔表达式翻译成规范表达式翻译成规范JEDECJEDEC码,并产生列表文件码,并产生列表文件和熔断图文件。和熔断图文件。vFASTMAPFASTMAP支持如下布尔表达式:支持如下布尔

16、表达式:v1 1 ,如,如。表示输出直接由输入表达式决议,与时钟。表示输出直接由输入表达式决议,与时钟无关,并且输出不允许高阻态三态。无关,并且输出不允许高阻态三态。v2 2: ,如:,如:。表示输出的形状只需在时钟的上升沿。表示输出的形状只需在时钟的上升沿才改动形状,时钟输入脚不能作为信号输入脚。才改动形状,时钟输入脚不能作为信号输入脚。v3 3.OE=.OE= ,如,如.OE.OE。表示在逻辑表达式为真时,输出有效;。表示在逻辑表达式为真时,输出有效;而其它形状时,输出为高阻态。而其它形状时,输出为高阻态。 第第7 7章章 ASICASIC设计设计 FASTMAPFASTMAP软件及言语规

17、那么软件及言语规那么FASTMAPFASTMAP支持的逻辑关系符有:支持的逻辑关系符有:“* *表示表示“与与的关系;的关系;“表示表示“或或的关系;的关系;“表示表示“非非的关系。的关系。符号符号“;表示注释,在一行中,表示注释,在一行中,“;后后面的一切面的一切ASCIIASCII码仅仅写入列表文件。码仅仅写入列表文件。“ D E S C R I P T I O ND E S C R I P T I O N 表 示 文 件 终 了 ,表 示 文 件 终 了 ,“DESCRIPTIONDESCRIPTION后的一切内容,编译器都后的一切内容,编译器都不予理睬,仅仅写入列表文件中。不予理睬,仅

18、仅写入列表文件中。 第第7 7章章 ASICASIC设计设计 FASTMAPFASTMAP软件及言语规那么软件及言语规那么汇编的源文件是一个规范的汇编的源文件是一个规范的ASCIIASCII码文件,码文件,任何文本编辑器,如记事本都可以编写,任何文本编辑器,如记事本都可以编写,FASTMAPFASTMAP对于源文件书写格式有一定的要求。对于源文件书写格式有一定的要求。源文件的第一行要求给出源文件的第一行要求给出GALGAL器件型号,器件型号,“GAL16V8GAL16V8或或“GAL20V8GAL20V8;第二行可给出第二行可给出GALGAL器件的逻辑称号,如器件的逻辑称号,如“4 4 Bit

19、s CounderBits Counder、“Address DecoderAddress Decoder等;等;第三行可列出版本信息和日期;第三行可列出版本信息和日期;第四行可写明设计者的姓名。第四行可写明设计者的姓名。这四行信息不能省略,否那么不能经过编译。这四行信息不能省略,否那么不能经过编译。 第第7 7章章 ASICASIC设计设计 FASTMAPFASTMAP软件及言语规那么软件及言语规那么接下来就是定义器件的管脚称号,必需从第五行开接下来就是定义器件的管脚称号,必需从第五行开场。管脚称号可以运用不包含前面提到的逻辑关系场。管脚称号可以运用不包含前面提到的逻辑关系符的任何符号或字符

20、串,定义时只需将管脚的称号符的任何符号或字符串,定义时只需将管脚的称号按管脚的序号依次陈列即可,可以有多行。假设写按管脚的序号依次陈列即可,可以有多行。假设写在同一行里,两个管脚名之间应该用空格分开。在同一行里,两个管脚名之间应该用空格分开。管脚定义完成之后就可以书写布尔表达式,布尔表管脚定义完成之后就可以书写布尔表达式,布尔表达式中只能用达式中只能用FASTMAPFASTMAP所支持的三种关系符,第一所支持的三种关系符,第一个布尔表达式最多有个布尔表达式最多有8 8个个“或或项项“项,项,因此超越因此超越8 8个或项的逻辑关系需求用户手工化简,个或项的逻辑关系需求用户手工化简,并且并且FAS

21、TMAPFASTMAP不支持括号,即不支持括号,即“。当一切布尔表达式书写完后,应以一个关键字当一切布尔表达式书写完后,应以一个关键字“DESCRIPTIONDESCRIPTION终了,并适当追加注释,以提高终了,并适当追加注释,以提高汇编代码的可读性。汇编代码的可读性。 第第7 7章章 ASICASIC设计设计 2.FASTMAP2.FASTMAP运用举例运用举例 v例例1 13-83-8译码器译码器 v3-83-8译码器是一种很常用的译码译码器是一种很常用的译码器,普通用于地址译码,如器,普通用于地址译码,如I/OI/O端口选择等。它有端口选择等。它有3 3个二进制码个二进制码输入端,输入

22、端,8 8个与输入二进制码相个与输入二进制码相对应的输出端,以及控制端对应的输出端,以及控制端/G1/G1、/G2A/G2A和和/G2B/G2B,器件引脚如图,器件引脚如图7.2.17.2.1所示。由于只需所示。由于只需6 6个输入和个输入和8 8个输出,因此用一片个输出,因此用一片GAL16V8GAL16V8即即可。可。 第第7 7章章 ASICASIC设计设计 3-83-8译码器的译码器的FASTMAPFASTMAP代码代码GAL16V8GAL16V8;DEVICE;DEVICEAddress DecoderAddress DecoderV1.0 2019.11.2V1.0 2019.11

23、.2DESIGNED BY XXXDESIGNED BY XXXA B C NC G2A G2B G1 NC NC GNDA B C NC G2A G2B G1 NC NC GND ;PIN NAME;PIN NAMENC Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 VCCNC Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 VCC Y0Y0/A/A* */B/B* */C/C* *G1G1* */G2A/G2A* */G2B/G2BY1Y1A A* */B/B* */C/C* *G1G1* */G2A/G2A* */G2B/G2BY2Y2/A/A* *B B* */C/C* *G1G1*

24、 */G2A/G2A* */G2B/G2BY3Y3A A* *B B* */C/C* *G1G1* */G2A/G2A* */G2B/G2BY4Y4/A/A* */B/B* *C C* *G1G1* */G2A/G2A* */G2B/G2BY5Y5A A* */B/B* *C C* *G1G1* */G2A/G2A* */G2B/G2BY6Y6/A/A* *B B* *C C* *G1G1* */G2A/G2A* */G2B/G2BY7Y7A A* *B B* *C C* *G1G1* */G2A/G2A* */G2B/G2BDESCRIPTION DESCRIPTION 第第7 7章章 AS

25、ICASIC设计设计 例例2 2七段显示译码器七段显示译码器 v数字显示译码器是用来驱动数数字显示译码器是用来驱动数码管的中规模集成电路。它的码管的中规模集成电路。它的功能是将功能是将BCDBCD码变成十进制数字,码变成十进制数字,并在数码管上显示出来。下面并在数码管上显示出来。下面的以七段显示译码器为例讲解的以七段显示译码器为例讲解FASTMAPFASTMAP的运用。的运用。v七段显示译码器的输入由两部七段显示译码器的输入由两部分组成,数码输入部分分组成,数码输入部分I3I3、I2I2、I1I1、I0I0和辅助输入部分和辅助输入部分LTLT,RBIRBI,BIBI,输出除了七,输出除了七位译

26、码输出外,还有灭零输出位译码输出外,还有灭零输出信号信号RBORBO。 第第7 7章章 ASICASIC设计设计 七段显示译码器七段显示译码器vLTLT为试灯信号输入端,用来检查数码管的七段为试灯信号输入端,用来检查数码管的七段能否都正常。由表中第一行可见,当能否都正常。由表中第一行可见,当LT=0LT=0,BI=1BI=1,即输入试灯信号时,不论,即输入试灯信号时,不论I3I3,I2I2,I1I1,I0I0输入如何,数据管的七段全亮,阐明各段显输入如何,数据管的七段全亮,阐明各段显示正常,否那么就不正常。示正常,否那么就不正常。BIBI为熄灭信号输入为熄灭信号输入端,由表中第二行可见,当端,

27、由表中第二行可见,当BI=0BI=0时,不论其它时,不论其它输入端形状如何,数码管熄灭。输入端形状如何,数码管熄灭。RBIRBI为灭零信为灭零信号输入端,用来熄灭不需求显示的号输入端,用来熄灭不需求显示的0 0。由表中。由表中第三行可见,当第三行可见,当LT=1LT=1,RBI=0RBI=0,BI=1BI=1,且输入,且输入I3I2I1I0=0000I3I2I1I0=0000时,数码管熄灭。这在多位数时,数码管熄灭。这在多位数显系统中,可将有效数字前、后多余的显系统中,可将有效数字前、后多余的0 0熄灭,熄灭,既便于读数,又可减少功耗。当既便于读数,又可减少功耗。当LT=1LT=1,RBI=0

28、RBI=0时输出端时输出端RBO=0RBO=0。级联时,可将。级联时,可将RBORBO送到另一片送到另一片七段显示译码器的灭零信号输入端,可以使这七段显示译码器的灭零信号输入端,可以使这两片都灭两片都灭0 0。 第第7 7章章 ASICASIC设计设计 七段显示译码器的七段显示译码器的FASTMAPFASTMAP代码代码 GAL16V8GAL16V8DIGITAL DISPLAY DECODERDIGITAL DISPLAY DECODERVER 1.0 2019-11.2VER 1.0 2019-11.2DESIGNED BY XXXDESIGNED BY XXXNULL NULL LT R

29、BI BI I3 I2 I1 I0 NULL NULL LT RBI BI I3 I2 I1 I0 GNDGNDNULL A B C D E F G RBO VCCNULL A B C D E F G RBO VCC RBO=/LT+RBI+/BI+I3+I2+I1+I0RBO=/LT+RBI+/BI+I3+I2+I1+I0G=/BI+LTG=/BI+LT* *BIBI* */I3/I3* */I2/I2* */I1/I1* */I0+LT/I0+LT* *BIBI* */I3/I3* */I2/I2* */I1/I1* *I0+LTI0+LT* *BIBI* */I3/I3* *I2I2*

30、*I1I1* *I0 I0 第第7 7章章 ASICASIC设计设计 七段显示译码器的七段显示译码器的FASTMAPFASTMAP代码代码F=/BI+LTF=/BI+LT* *BIBI* */RBI/RBI* */I3/I3* */I2/I2* */I1/I1* */I0+LT/I0+LT* *BIBI* */I3/I3* */I2/I2* */I1/I1* *I0 I0 +LT+LT* *BIBI* */I3/I3* */I2/I2* *I1 +LTI1 +LT* *BIBI* */I3/I3* *I2I2* *I1I1* *I0 I0 E=/BI+LTE=/BI+LT* *BI BI *

31、*/RBI/RBI* */I3/I3* */I2/I2* */I1/I1* */I0 +LT/I0 +LT* *BI BI * */I3/I3* */I2/I2* *I0 +LTI0 +LT* *BI BI * */I3/I3* *I2I2* */I1 +LT/I1 +LT* *BI BI * */I3/I3* *I2I2* *I1I1* *I0+LTI0+LT* *BI BI * *I3I3* */I2/I2* */I1/I1* *I0I0 D=/BI+LTD=/BI+LT* *BI BI * */RBI/RBI* */I3/I3* */I2/I2* */I1/I1* */I0+LT/I0+

32、LT* *BI BI * */I3/I3* */I2/I2* */I1/I1* */I0 +LT/I0 +LT* *BI BI * */I3/I3* *I2I2* */I1/I1* */I0+LT/I0+LT* *BI BI * */I3/I3* *I2I2* *I1I1* *I0I0 C=/BI+LTC=/BI+LT* *BI BI * */RBI/RBI* */I3/I3* */I2/I2* */I1/I1* */I0+LT/I0+LT* *BI BI * */I3/I3* */I2/I2* *I1I1* */I0/I0 B=/BI+LTB=/BI+LT* *BI BI * */RBI/R

33、BI* */I3/I3* */I2/I2* */I1/I1* */I0 +LT/I0 +LT* *BI BI * */I3/I3* *I2I2* */I1/I1* *I0 +LTI0 +LT* *BI BI * */I3/I3* *I2I2* *I1I1* */I0/I0 A=/BI+LTA=/BI+LT* *BI BI * */RBI/RBI* */I3/I3* */I2/I2* */I1/I1* */I0 +LT/I0 +LT* *BI BI * */I3/I3* */I2/I2* */I1/I1* *I0 +LTI0 +LT* *BI BI * */I3/I3* *I2I2* */I1/

34、I1* */I0/I0DESCRIPTION DESCRIPTION 第第7 7章章 ASICASIC设计设计 例例3 3六位双向移位存放器六位双向移位存放器 v移位存放器的功能是在移移位存放器的功能是在移位脉冲作用下,存放器中位脉冲作用下,存放器中的数据可以逐位左移或右的数据可以逐位左移或右移。双向移位存放器可根移。双向移位存放器可根据移位控制端的输入来选据移位控制端的输入来选择任务方式,以完成左移择任务方式,以完成左移或右移的功能。移位存放或右移的功能。移位存放器的运用很广,普通可用器的运用很广,普通可用来对数码作串、并行变换,来对数码作串、并行变换,或在移位存放器的根底上或在移位存放器的

35、根底上构成计数器和序列信号发构成计数器和序列信号发生器等。生器等。第第7 7章章 ASICASIC设计设计 六位双向移位存放器六位双向移位存放器v图图7.2.47.2.4所示的六位双向移位存放器是采所示的六位双向移位存放器是采用用GAL16V8GAL16V8设计的,可以将数据左右移位,设计的,可以将数据左右移位,可以串行或并行装入数据,用可以串行或并行装入数据,用S0S0和和S1S1两两个输入端选择任务方式个输入端选择任务方式; ;一切串行口全部一切串行口全部是双向的,因此引脚是双向的,因此引脚1212RI/LORI/LO是右串是右串行输入和左串行输出,而引脚行输入和左串行输出,而引脚1919

36、LI/ROLI/RO是左串行输入和右串行输出是左串行输入和右串行输出 。第第7 7章章 ASICASIC设计设计 六位双向移位存放器的六位双向移位存放器的FASTMAPFASTMAP代码代码 GAL16V8GAL16V86 BIT SHIFTER6 BIT SHIFTERVER1.0 2019-11-2VER1.0 2019-11-2DESIGNED BY XXXDESIGNED BY XXXCLK S1 S0 D5 D4 D3 D2 D1 D0 GNDCLK S1 S0 D5 D4 D3 D2 D1 D0 GNDOE RILO Q5 Q4 Q3 Q2 Q1 Q0 LIRO VCCOE RIL

37、O Q5 Q4 Q3 Q2 Q1 Q0 LIRO VCC Q0:=/S1Q0:=/S1* */S0/S0* *Q0+/S1Q0+/S1* *S0S0* *Q1+S1Q1+S1* */S0/S0* *LIRO+S1LIRO+S1* *S0S0* *D0D0 Q1:=/S1Q1:=/S1* */S0/S0* *Q1+/S1Q1+/S1* *S0S0* *Q2+S1Q2+S1* */S0/S0* *Q2+S1Q2+S1* *S0S0* *D1D1Q2:=/S1Q2:=/S1* */S0/S0* *Q2+/S1Q2+/S1* *S0S0* *Q3+S1Q3+S1* */S0/S0* *Q1+S1Q1+

38、S1* *S0S0* *D2 D2 第第7 7章章 ASICASIC设计设计 六位双向移位存放器的六位双向移位存放器的FASTMAPFASTMAP代码代码Q3:=/S1Q3:=/S1* */S0/S0* *Q3+/S1Q3+/S1* *S0S0* *Q4+S1Q4+S1* */S0/S0* *Q2+S1Q2+S1* *S0S0* *D3D3Q4:=/S1Q4:=/S1* */S0/S0* *Q4+/S1Q4+/S1* *S0S0* *Q5+S1Q5+S1* */S0/S0* *Q3+S1Q3+S1* *S0S0* *D4D4 Q5:=/S1Q5:=/S1* */S0/S0* *A5+/S1A5

39、+/S1* *S0S0* *RILO+S1RILO+S1* */S0/S0* *Q4+S1Q4+S1* *S0S0* *D5D5 LIRO=Q0LIRO=Q0LIRO.OE=SOLIRO.OE=SO* */S1/S1 RILO=Q5RILO=Q5RILO.OE=/SORILO.OE=/SO* *S1S1DESCRIPTION DESCRIPTION 第第7 7章章 ASICASIC设计设计 例例4 4四位同步可逆计数器四位同步可逆计数器 可逆计数器指的是既能做加法计数又能做减可逆计数器指的是既能做加法计数又能做减法计数的计数器。在实践运用中,计数不一法计数的计数器。在实践运用中,计数不一定要从

40、定要从0 0开场,而是从某一指定数开场计数,开场,而是从某一指定数开场计数,因此要求计数器具有预置数的功能。因此要求计数器具有预置数的功能。决议计数器任务方式的是两个控制输入决议计数器任务方式的是两个控制输入CTL0CTL0和和CTL1CTL1,其方式选择如表,其方式选择如表7.2.47.2.4所述。所述。 第第7 7章章 ASICASIC设计设计 四位同步可逆计数器的四位同步可逆计数器的FASTMAPFASTMAP代码代码 GAL16V8GAL16V84 BIT ADD/SUB COUNTER4 BIT ADD/SUB COUNTERVER1.0 2019-11-2VER1.0 2019-1

41、1-2DESIGNED BY XXXDESIGNED BY XXXCLK I3 I2 I1 I0 NULL NULL CTL1 CTL0 GNDCLK I3 I2 I1 I0 NULL NULL CTL1 CTL0 GNDOE NULL NULL NULL NULL Q3 Q2 Q1 Q0 VCCOE NULL NULL NULL NULL Q3 Q2 Q1 Q0 VCC Q3:=/CNTL1Q3:=/CNTL1* *CNTL0CNTL0* *I3+CNTL1I3+CNTL1* */CNTL0/CNTL0* */Q0/Q0* */Q1/Q1* */Q2/Q2* */Q3 /Q3 +CNTL1+

42、CNTL1* */CNTL0/CNTL0* *Q0Q0* *Q1Q1* *Q2Q2* *Q3+CNTL1Q3+CNTL1* *CNTL0CNTL0* */Q0/Q0* */Q1/Q1* */Q2/Q2* *Q3Q3 +CNTL1 +CNTL1* *CNTL0CNTL0* *Q0Q0* *Q1Q1* *Q2Q2* */Q3+CNTL1 /Q3+CNTL1 * *Q0Q0* */Q2/Q2* *Q3Q3 +CNTL1 +CNTL1 * */Q1/Q1* *Q2Q2* *Q3+CNTL1 Q3+CNTL1 * */Q0/Q0* *Q1Q1* *Q3 Q3 第第7 7章章 ASICASIC设计设计 四

43、位同步可逆计数器的四位同步可逆计数器的FASTMAPFASTMAP代码代码 Q2Q2:=/CNTL1=/CNTL1* *CNTL0CNTL0* *I2+CNTL1I2+CNTL1* */CNTL0/CNTL0* */Q0/Q0* */Q1/Q1* */Q2/Q2 +CNTL1 +CNTL1* */CNTL0/CNTL0* *Q1Q1* *Q2+CNTL1Q2+CNTL1* *CNTL0CNTL0* */Q1/Q1* *Q2Q2 +CNTL1 +CNTL1* *CNTL0CNTL0* *Q0Q0* *Q1Q1* */Q2+CNTL1/Q2+CNTL1* */ Q0/ Q0* *Q1Q1* *Q2

44、Q2 +CNTL1 +CNTL1* *Q0Q0* */Q1/Q1* *Q2 Q2 Q1Q1:=/CNTL1=/CNTL1* *CNTL0CNTL0* *I1+CNTL1I1+CNTL1* */CNTL0/CNTL0* */Q0/Q0* */Q1/Q1 +CNTL1 +CNTL1* */CNTL0/CNTL0* *Q0Q0* *Q1+CNTL1Q1+CNTL1* *CNTL0CNTL0* */Q0/Q0* *Q1Q1 +CNTL1 +CNTL1* *CNTL0CNTL0* *Q0Q0* */Q1/Q1 Q0Q0:=/CNTL1=/CNTL1* *CNTL0CNTL0* *I0+CNTL1I0+C

45、NTL1* */Q0/Q0DESCRIPTION DESCRIPTION 第第7 7章章 ASICASIC设计设计 7.2.2 ABEL7.2.2 ABEL言语及其运用举例言语及其运用举例 v1.ABEL1.ABEL言语及其编程引见言语及其编程引见 vABELABEL言语是由美国言语是由美国DATA I/ODATA I/O公司于公司于1983198319881988年推出的一种硬件描画言语年推出的一种硬件描画言语( (也称为也称为ABEL-HDL)ABEL-HDL),是开发,是开发SPLDSPLD的一种的一种高级代码设计言语。高级代码设计言语。ABELABEL言语支持逻辑言语支持逻辑方程、真值

46、表和形状图三种逻辑描画方方程、真值表和形状图三种逻辑描画方式。式。 第第7 7章章 ASICASIC设计设计 1.ABEL1.ABEL言语及其编程引见言语及其编程引见vABELABEL源文件的根本构造源文件的根本构造 :第第7 7章章 ASICASIC设计设计 ABELABEL言语及其编程引见言语及其编程引见v源文件中的信号源文件中的信号属性属性可选择表可选择表7.2.57.2.5所述的属性字符串。所述的属性字符串。 第第7 7章章 ASICASIC设计设计 2.2.运用举例运用举例 v例例1 1运用运用ABELABEL言语设计一个四位二进言语设计一个四位二进制数比较器制数比较器 第第7 7章

47、章 ASICASIC设计设计 运用举例运用举例v 该例子中的该例子中的modulemodule,declarationsdeclarations,pinpin,istypeistype,EquationsEquations,test_vectorstest_vectors,endend是关键字。运用时不是关键字。运用时不分大小写。不能用于器件名、引脚、节点、常量、组、分大小写。不能用于器件名、引脚、节点、常量、组、宏和信号。宏和信号。ABELABEL言语中的关键字如下:言语中的关键字如下:v async_reset fuses state case goto async_reset fuses

48、 state case goto state_diagram cycle if state_register state_diagram cycle if state_register declarations in sync_reset device interface declarations in sync_reset device interface t e s t _ v e c t o r s e l s e i s t y p e t h e n t e s t _ v e c t o r s e l s e i s t y p e t h e n enable(obsolete

49、) library title end macro enable(obsolete) library title end macro trace endcase module truth_table endwith trace endcase module truth_table endwith node wait equations options when node wait equations options when external pin with flag(obsolete) property external pin with flag(obsolete) property f

50、unctional_blockfunctional_blockv 注释有两种方法:一种是运用双引号注释有两种方法:一种是运用双引号“ “ ,另一种是,另一种是运用双斜杠运用双斜杠/。 第第7 7章章 ASICASIC设计设计 例例2 2运用运用ABELABEL言语设计一个言语设计一个4 4位左位左移移位存放器移移位存放器 vABELABEL代码如下:代码如下:vMODULE SHIFT4MODULE SHIFT4vTITLE SHIFT4TITLE SHIFT4vDIN,CLK,CLR PIN;DIN,CLK,CLR PIN;vQ3.Q0 PIN ISTYPE Q3.Q0 PIN ISTYPE

51、 REG;REG;vOUT=Q3.Q0;OUT=Q3.Q0;v vEQUATIONSEQUATIONSvOUT.CLK=CLK;OUT.CLK=CLK;vOUT.AR=CLR;OUT.AR=CLR;vQ0 := DIN;Q0 := DIN;vQ1 := Q0;Q1 := Q0;vQ2 := Q1;Q2 := Q1;vQ3 := Q2; Q3 := Q2; vENDEND方程式中的赋值方程式中的赋值符为符为“或或“: :。“为非为非时钟赋值,主要用时钟赋值,主要用于组合逻辑输出;于组合逻辑输出;“: :为时钟赋为时钟赋值,主要用于存放值,主要用于存放器输出。器输出。第第7 7章章 ASICASI

52、C设计设计 例例3 3运用运用WHEN_THENWHEN_THEN语句设计语句设计一个一个4 4选选1 1数据选择器。数据选择器。 vABELABEL代码如下:代码如下:vMODULE MODULE MUX4S1MUX4S1vTITLE MUX4S1TITLE MUX4S1vS1,S0 S1,S0 PIN;PIN;vD 3 , D 2 , D 1 , D 0 D 3 , D 2 , D 1 , D 0 PIN;PIN;vY PIN ISTYPE Y PIN ISTYPE COM;COM;vS=S1,S0;S=S1,S0;vEQUATIONSEQUATIONSvWHEN (S=0) THEN W

53、HEN (S=0) THEN Y=D0;Y=D0;vWHEN (S=1) THEN WHEN (S=1) THEN Y=D1;Y=D1;vWHEN (S=2) THEN WHEN (S=2) THEN Y=D2;Y=D2;vWHEN (S=3) THEN WHEN (S=3) THEN Y=D3;Y=D3;vEND END v在方程中允许运用在方程中允许运用WHEN-THEN-WHEN-THEN-ELSEELSE语句。但不能运用语句。但不能运用IF-IF-THEN-ELSETHEN-ELSE语句。其表达式如下:语句。其表达式如下:vWHEN WHEN 条件条件 THEN!THEN!变量名变量名

54、表达式;表达式;v ELSE ELSE 方程式;方程式; v或者或者vWHEN WHEN 条件条件 THEN THEN 方程式;方程式;v ELSE ELSE 方程式;方程式; 第第7 7章章 ASICASIC设计设计 例例4 4运用运用WHEN_THEN_ELSEWHEN_THEN_ELSE语句设计一位十进制加法计数语句设计一位十进制加法计数器器 vABELABEL代码如下:代码如下:vMODULE count10MODULE count10vq3,q2,q1,q0 PIN ISTYPE reg;q3,q2,q1,q0 PIN ISTYPE reg;vclk,cd PIN;clk,cd PI

55、N;vcount = q3.q0;count = q3.q0;vEQUATIONSEQUATIONSvcount.clk = clk;count.clk = clk;vcount.ar = cd;count.ar = cd;vWHEN (count=9) THEN count := 0;WHEN (count=9) THEN count := 0;v ELSE count := (count.fb+1); ELSE count := (count.fb+1);vEND END 第第7 7章章 ASICASIC设计设计 ABELABEL代码阐明代码阐明v真值表语句用表格的方式将输出定义为输入的真

56、值表语句用表格的方式将输出定义为输入的函数。以关键字函数。以关键字TRUTH_TABLETRUTH_TABLE为开场,后面跟为开场,后面跟表头向量和表格。其格式如下:表头向量和表格。其格式如下:vTRUTH_TABLE (TRUTH_TABLE (输入输入 输出输出) )v 输入输入 输出输出; ;v或或 vTRUTH_TABLE (TRUTH_TABLE (输入输入 : : 存放器型输出存放器型输出 输出;输出;) )v 输入输入 : : 存放器型输出存放器型输出 输出;输出;v 第第7 7章章 ASICASIC设计设计 例例5 5用真值表实现一个用真值表实现一个4-24-2线编码器线编码器

57、 v ABELABEL代码如下:代码如下:v MODULE CODER24MODULE CODER24/模块语句模块语句v TITLE CODER24TITLE CODER24/标题语句标题语句v I3,I2,I1,I0 PIN;I3,I2,I1,I0 PIN;/定义段定义段v O1,O0 PIN ISTYPE COM;O1,O0 PIN ISTYPE COM; / /组合型输出组合型输出v TRUTH_TABLE (I3,I2,I1,I0-O1,O0) /TRUTH_TABLE (I3,I2,I1,I0-O1,O0) /用真值表实现用真值表实现 v 0,0,0,1-0,0; 0,0,0,1-

58、0,0; v 0,0,1,0-0,1; 0,0,1,0-0,1;v 0,1,0,0-1,0; 0,1,0,0-1,0;v 1,0,0,0-1,1; 1,0,0,0-1,1;v ENDEND第第7 7章章 ASICASIC设计设计 例例6 6用真值表实现一个用真值表实现一个2-42-4线译码器线译码器 v2-42-4线译码器的输入输出关系如表线译码器的输入输出关系如表7.2.67.2.6所示所示 第第7 7章章 ASICASIC设计设计 2-42-4线译码器线译码器vABELABEL代码如下:代码如下:vMODULE decoderMODULE decodervDECLARATIONSDECLA

59、RATIONSv a , b a , b pin; pin;v y0 , y1 , y2 , y3 y0 , y1 , y2 , y3 pin istype pin istype com ;com ;vT R U T H _ T A B L E ( a , b - T R U T H _ T A B L E ( a , b - y0,y1,y2,y3 )y0,y1,y2,y3 )v 0, 0 - 1 , 0 , 0, 0 - 1 , 0 , 0 , 0;0 , 0;v 0, 1 - 0 , 1 , 0, 1 - 0 , 1 , 0 , 0;0 , 0;v 1, 0 - 0 , 0 , 1, 0

60、 - 0 , 0 , 1 , 0;1 , 0;v 1, 1 - 0 , 0 , 0 , 1, 1 - 0 , 0 , 0 , 1;1;vEND decoder END decoder 第第7 7章章 ASICASIC设计设计 例例7 7设计一位十进制加法计设计一位十进制加法计数器及七段译码电路数器及七段译码电路 vABELABEL代码如下:代码如下:vMODULE countMODULE countvclkclk PIN; PIN; vq3.q0 PIN ISTYPE REG;q3.q0 PIN ISTYPE REG;va,b,c,d,e,f,g PIN ISTYPE COM;a,b,c,d,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论