资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,1,章,EDA,技术概述,1,1-1 EDA,技术与,ASIC,设计和,FPGA,开发有什么关系?,FPGA,在,ASIC,设计中有什么用途?,答:,EDA,技术进行电子系统设计的最后目标,是完成专用集成电路(,ASIC,)的设计和实现,,FPGA,是实现这一途径的主流器件,,它们的特点是直接面向用户、具有极大的灵活性和通用性、使用方便、硬件测试和实现快捷、开发效率高、成本低、上市时间短、技术维护简单、工作可靠性好等,。,FPGA,的应用是,EDA,技术有机融合软硬件电子设计技术、,ASIC,设计,以及对自动设计与自动实现最典型的诠释。,1-2,与软件描述语言相比,,Verilog,有什么特点?,答:,Verilog,语言的特点:,(,1,)按照设计目的,,Verilog,程序可以划分为面向仿真和面向综合两类,而可综合的,Verilog,程序能分别面向,FPGA,和,ASIC,开发两个领域。,(,2,)能在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器传输级(,RTL,)至行为级都可以加以描述。,(,3,)灵活多样的电路描述风格。,2,1-3,什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?,答:综合(,Synthesis,),就其字面含义应该是:把抽象的实体结合成单个或统一的实体。,在电子设计领域,综合的概念可以表述为:将用行为和功能层次表达的电子系统转换为低层次的、便于具体实现的模块组合装配的过程。,(,1,)从自然语言转换到,Verilog,语言算法表述,即自然语言综合。,(,2,)从算法表述转换到寄存器传输级(,Register Transport Level,,,RTL,)表述,即从行为域到结构域的综合,也称行为综合。,(,3,)从,RTL,级表述转换到逻辑门(包括触发器)的表述,即逻辑综合。,(,4,)从逻辑门表述转换到版图级表述(如,ASIC,设计),或转换到,FPGA,的配置网表文件,可称为版图综合或结构综合。,综合器就是能够将一种设计表述形式自动向另一种设计表述形式转换的计算机程序,或协助进行手工转换的程序。它可以将高层次的表述转化为低层次的表述,可以将行为域转化为结构域,可以将高一级抽象的电路描述(如算法级)转化为低一级的电路描述(如门级),并可以用某种特定的“技术”(如,CMOS,)实现。,3,1-4 IP,在,EDA,技术的应用和发展中的意义是什么?,答:,IP,就是知识产权核或知识产权模块的意思,在,EDA,技术和开发中具有十分重要的地位。美国著名的,Dataquest,咨询公司将半导体产业的,IP,定义为“用于,ASIC,或,FPGA,中的预先设计好的电路功能模块”。,IP,分软,IP,、固,IP,和硬,IP,。,软,IP,是用,HDL,等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。,固,IP,是完成了综合的功能块。它有较大的设计深度,以网表文件的形式提交客户使用。,硬,IP,提供设计的最终阶段产品,掩模。随着设计深度的提高,后续工序所需要做的事情就越少;当然,灵活性也就越小。不同的客户可以根据自己的需要订购不同的,IP,产品。,4,1-5,叙述,EDA,的,FPGA/CPLD,设计流程,以及涉及的,EDA,工具及其在整个流程中的作用。,答:完整地了解利用,EDA,技术进行设计开发的流程对于正确地选择和使用,EDA,软件、优化设计项目、提高设计效率十分有益。一个完整的、典型的,EDA,设计流程既是自顶向下设计方法的具体实施途径,也是,EDA,工具软件本身的组成结构。,基于,EDA,的,FPGA/CPLD,开发流程,5,1-6 OLMC,有何功能?说明,GAL,是怎样实现可编程组合电路与时序电路的。,答:输出逻辑宏单元(,Output Logic Macro Cell,,,OLMC,),此结构使得,PLD,器件在组合逻辑和时序逻辑中的可编程或可重构性能都成为可能。,GAL16V8,型号的器件,它包含了,8,个逻辑宏单元,OLMC,,每一个,OLMC,可实现时序电路可编程,而其左侧的电路结构是与阵列可编程的组合逻辑可编程结构。,GAL,的,OLMC,单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等,为逻辑电路设计提供了极大的灵活性。,GAL,的输出逻辑宏单元,OLMC,中含有,4,个多路选择器,通过不同的选择方式可以产生多种输出结构,分别属于,3,种模式,一旦确定了某种模式,所有的,OLMC,都将工作在同一种模式下。图,1-14,即为其中一种输出模式对应的结构。,图,1-14,寄存器输出结构,6,1-7,什么是基于乘积项的可编程逻辑结构?什么是基于查找表的可编程逻辑结构?,答:基于乘积项的可编程结构,即由可编程的“与”阵列和固定的“或”阵列组成。,可编程的查找表(,Look Up Table,,,LUT,)结构,,LUT,是可编程的最小逻辑构成单元。大部分,FPGA,采用基于,SRAM,(静态随机存储器)的查找表逻辑形成结构,,即用,SRAM,来构成逻辑函数发生器,。一个,N,输入,LUT,可以实现,N,个输入变量的任何逻辑功能,如,N,输入“与”、,N,输入“异或”等。,1-8,就逻辑宏单元而言,,GAL,中的,OLMC,、,CPLD,中的,LC,、,FPGA,中的,LUT,和,LE,的含义和结构特点是什么?它们都有何异同点?,答:输出逻辑宏单元(,Output Logic Macro Cell,,,OLMC,),此结构使得,PLD,器件在组合逻辑和时序逻辑中的可编程或可重构性能都成为可能。,MAX7000S,系列器件包含,32256,个逻辑宏单元(,Logic Cell,,,LC,),其单个逻辑宏单元结构如图,1-15,所示。,LUT,即可编程的查找表(,Look Up Table,,,LUT,)结构,是可编程的最小逻辑构成单元。大部分,FPGA,采用基于,SRAM,(静态随机存储器)的查找表逻辑形成结构,即用,SRAM,来构成逻辑函数发生器。一个,N,输入,LUT,可以实现,N,个输入变量的任何逻辑功能,如,N,输入“与”、,N,输入“异或”等。,LE,是,Cyclone III FPGA,器件的最基本的可编程单元,,LE,主要由一个,4,输入的查找表,LUT,、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。,7,1-9,为什么说用逻辑门作为衡量逻辑资源大小的最小单元不准确。,答:专业习惯是将,OLMC,及左侧的可编程与阵列合称一个逻辑宏单元,即标志,PLD,器件逻辑资源的最小单元,由此可以认为,GAL16V8,器件的逻辑资源是,8,个逻辑宏单元,而目前最大的,FPGA,的逻辑资源达数十万个逻辑宏单元。也有将逻辑门的数量作为衡量逻辑器件资源的最小单元,如某,CPLD,的资源约,2000,门等,但此类划分方法误差较大。,1-10,标志,FPGA/CPLD,逻辑资源的,逻辑宏单元包含哪些结构?,答:,CPLD(MAX7000S),系列中的,逻辑宏单元由,3,个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器,它们可以被单独地配置为时序逻辑和组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个逻辑宏单元提供,5,个乘积项。“乘积项选择矩阵”分配这些乘积项作为到“或门”和“异或门”的主要逻辑输入,以实现组合逻辑函数;或者把这些乘积项作为宏单元中寄存器的辅助输入:清零(,Clear,)、置位(,Preset,)、时钟(,Clock,)和时钟使能控制(,Clock Enable,)。,FPGA(Cyclone III),器件的可编程资源主要来自逻辑阵列块,LAB,,而每个,LAB,都由多个逻辑宏单元(,Logic Element,,,LE,)构成。,LE,是,Cyclone III FPGA,器件的最基本的可编程单元,,LE,主要由一个,4,输入的查找表,LUT,、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。,8,大家有疑问的,可以询问和交流,可以互相讨论下,但要小声点,9,1-11,解释编程与配置这两个概念。,答:基于电可擦除存储单元的,EEPROM,或,Flash,技术。,CPLD,一般使用此技术进行编程(,Progam,)。,CPLD,被编程后改变了电可擦除存储单元中的信息,掉电后可保持。,Altera,的,FPGA,器件有两类配置下载方式:主动配置方式和被动配置方式。主动配置方式由,FPGA,器件引导配置操作过程,它控制着外部存储器和初始化过程,而被动配置方式则由外部计算机或控制器控制配置过程。,对于,SRAM,型,FPGA,,在实用中必须利用专用配置器件来存储编程信息,以便在上电后,该器件能对,FPGA,自动编程配置。,EPC,器件中的,EPC2,型号的器件是采用,Flash,存储工艺制作的具有可多次编程特性的配置器件。,10,第,2,章,Verilog,程序结构与数据类型,11,习 题,2-1 wire,型变量与,reg,型变量的什么本质区别,它们可用于什么类型语句中?,答:书上,P3335,第,2,章,Verilog,程序结构与数据类型,线网,(wire),表示硬件单元之间的连接。就像在真实的电路中一样,线网由其连接器件的输出端连续驱动。线网不能储存值,而且它必须受到驱动器,(,例如门或连续赋值语句,,assign),的驱动。如果没有驱动源,则线网的值为,z,。,reg,寄存器用来表示存储元件,它保持原有的数值,通过赋值语句可以改变寄存器储存的值,其作用与改变触发器储存的值相当。,reg,类型数据的默认初始值为不定值,x,。,定义为,Net,型的变量常被综合为硬件电路中的物理连接,其特点是输出的值紧跟输入值的变化而变化,因此常被用来表示以,assign,关键词引导的组合电路描述。,Register,类型变量必须放在过程语句中,如,initial,、,always,引导的语句中,通过过程赋值语句,(,包括阻塞与非阻塞语句,),完成赋值操作,换言之,在,always,和,initial,等过程结构内被赋值的变量必须定义成,Variable,类型。,12,2-3,以下的标符是否合法?,XOR,、,or,、,74LS04,、,4Badder,、,ASC,、,$SMD,、,A5,加法器、,BEGIN,答:正确,XOR,、,BEGIN,、,ASC(,还有一类标识符,即转义标识符,(Escaped Identifiers),。转义标识符以斜杠“,”,开头,以空白符结尾,可以包含任何字符。例如,,8031,、,-Gt,。,),不正确,74LS04,、,4Badder(,起始为数字,),,,A5,加法器,,or(,关键词,),,,$SMD(,任何标识符必须以英文字母或下划线开头,。,),2-2,下列数字的表述方式是否正确?,4b-1101,、,6sb010_1101,、,5d82,、,bx01,、,6b10 x101,、,10d7,、,HzD,、,-3b101,答:正确,bx01,、,6b10 x101,、,10d7,、,HzD,、,-3b101,不正确,4b,-,1101,、,6sb,0,10_1101,、,5d82(),注意,:,关键字都是小写的。如,reg,是关键字,但,REG,不属于关键字,所以可用作普通标识符。,13,2-4,定义以下的变量和常数。,(1),定义一个名字为,Q1,的,8,位,reg,总线。,(reg7:0 Q1;),(2),定义一个名字为,asg,的整数。,(integen asg;),(3),定义参数,s1=3b010,,,s2=3b110,,,s3=3b011,。,parameter s1=3b010,,,s2=3b110,,,s3=3b011;,(4),定义一个容量,(,深度,)
展开阅读全文