集成电路作业_第1页
集成电路作业_第2页
集成电路作业_第3页
集成电路作业_第4页
集成电路作业_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、一、简答题1、列出三个及以上世界知名EDA公司的名称、主要芯片产品以及配套软件。答:(1)Xilinx公司(FPGA的发明者)。产品主要有:7系列All ProgrammableFPGA产品(Artix-7、Kintex-7等)、6系列FPGA (Vertex-6)、XC9500/4000、Coolrunner(XPLA3)、Xilinx All Programmable SoC、CPLD等,其最大的VertexII Pro器件已达到800万门。开发软件为Foundation和ISE。欧洲多用Xilinx公司产品,中国和亚太地区用ALTERA的人多,美国则是平分秋色。全球PLD/FPGA产品6

2、0%以上是由Altera和Xilinx提供的。(2)Altera公司。主要产品有:可编程系统级芯片 (SOPC) 、FPGA、CPLD(MAX3000/7000/9000/II等系列)、Cylone、APEX20K、ACEX、Stratix等。配套软件:可编程逻辑技术与软件工具,其开发工具MAX+PLUS II是较成功的PLD开发平台,最新又推出了Quartus II开发软件。Altera公司提供较多形式的设计输入手段,绑定第三方VHDL综合工具,如:综合软件FPGA Express、Leonard Spectrum,仿真软件ModelSim。(3)Latticee公司 ,是ISP(InSys

3、tem Programmability)技术的发明者,ISP技术极大地促进了PLD产品的发展。与ALTERA和XILINX相比,其开发工具比Altera和Xilinx略逊一筹。中小规模PLD比较有特色,大规模PLD、FPGA的竞争力还不够强,1999年推出可编程模拟器件,99年收购Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商。2001年12月收购Agere公司(原Lucent微电子部)的FPGA部门。主要产品有ispLSI2000/5000/8000,ispMCAH4000等。2、试阐述硬件描述语言与计算机高级编程语言在程序设计中的本质区别(例如Verilog HDL 与C语

4、言)答:虽然Verilog的某些语法与C语言接近,但存在本质上的区别:(1)Verilog是一种硬件语言,VHDL等硬件描述语言主要用于CPLD、FPGA的大规模可编程逻辑器件,最终是为了产生实际的硬件电路或对硬件电路进行仿真;(2)C语言是一种软件高级编程语言,主要用于计算机等方面,是控制硬件来实现某些功能。3、用Verilog HDL定义宽度为8位,深度为16的存储器。答: reg7:0 ROMA15:0;4、阻塞赋值(b=a)与非阻塞赋值(b=a)有哪些区别?答:在写组合逻辑电路的代码时,书上例子大都用的=;而在写时序逻辑电路代码时,书上例子大都用的=。在Verilog HDL中阻塞赋值

5、=和非阻塞赋值=有着很大的不同,对于初学者而言,首先要掌握可综合风格的Verilog模块编程的8个原则,才能在综合布局布线的仿真中避免出现竞争冒险现象。(1)时序电路建模时,用非阻塞赋值。(2)锁存器电路建模时,用非阻塞赋值。(3)用always块建立组合逻辑模型时,用阻塞赋值。(4)在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。(5)在同一个always块中不要既用非阻塞赋值又用阻塞赋值。(6)不要在一个以上的always块中为同一个变量赋值。(7)用$strobe系统任务来显示用非阻塞赋值的变量值。(8)在赋值时不要使用 #0延时。这样做的目的是为了使综合前仿真和综合后仿

6、真一致。在很多时候,用=或者是=实际上对应的是不同的硬件电路,这点一定要十分清楚。阻塞赋值(=):我们先做下面定义:RHS赋值等号右边的表达式,LHS赋值等号左边的表达式。在串行语句块中,阻塞赋值语句按照它们在块中的排列顺序依次执行,即前一条语句没有完成赋值之前,后面的语句不可能被执行,换言之,后面的语句被阻塞了。阻塞赋值的执行可以认为只有一个步骤的操作,即计算RHS并更新LHS,此时不允许有来自任何其他Verilog语句的干扰。所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上是在前一条赋值语句结束后开始赋值的。有句话我一直没读懂:从理论上讲,它与后面的赋值语句只有概念上的

7、先后,而无实质上的延时。例如:beginB = A;C = B + 1;end首先第一条语句执行,将A的值赋给B,接着执行第二条语句,将B+1(即A加1),并赋给C。也就是说C = A + 1。非阻塞赋值(=):非阻塞语句的执行过程是:首先计算语句块内部所有右边表达式(RHS)的值,然后完成对左边寄存器变量的赋值操作,例如,下面两条非阻塞赋值语句的执行过程是:先计算右边表达式的值并暂存在一个暂存器中,A的值被保存在一个寄存器中,而B+1的值被保存在另一个寄存器中,在begin和end之间所有语句的右边表达式都被计算并存储完后,对左边的寄存器变量的赋值才会进行。这样C得到的是B的原始值而不是A加

8、一。beginB = A;C = B +1;end如果我们想让两个最基本的D触发器串联,我们用阻塞和非阻塞赋值看看结果有什么不同阻塞和非阻塞的不同造成了电路上巨大的不同,因此他们的差别应该牢记。5、什么是有限状态机?设计有限状态机的一般步骤是什么?答:有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。步骤为:1)、逻辑抽象,得出状态转换图2)、状态化简3)、状态分配4)、选定触发器的类型并求出状态方程,驱动方程和输出方程5)、按照方程得出逻辑图6)、检查所设计的电路能否自启动6、FPGA和ASIC的概念,他们的区别。答:FPGA是可编程

9、ASIC, FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑 模 块CLB(Con-figurable Logick)输入输出模块IOB(Input Out put Block)和内部连线(Inter connect)三个部分。可配置逻辑模块是实现用户功能的

10、基本单元,它们通常排列成一个阵列,散布整个芯片;输入输出模块IOB完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;内部连线包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O 块连接起来,构成特定功能的电路。ASIC(Application Specific Integrated Circuit)在集成电路界被认为是一种为专门目的而设计的集成电路,即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。区别:FPGA是可编程ASIC。 ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能

11、以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。 7、你知道的集成电路设计的表达方式有哪几种?答:IC 分数字和模拟 门海 门阵列 FPGA ASIC CPLD8、描述你对集成电路设计流程的认识。答:集成电路设计的流程一般先要进行软硬件划分,将设计基本分为两部分:芯片硬件设计和软件协同设计。芯片硬件设计包括:1功能设计阶段。设计人员产品的应用场合,设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率

12、等规格,以做为将来电路设计时的依据。更可进一步规划软件模块及硬件模块该如何划分,哪些功能该整合于SOC 内,哪些功能可以设计在电路板上。 2设计描述和行为级验证。功能设计完成后,可以依据功能将SOC 划分为若干功能模块,并决定实现这些功能将要使用的IP 核。此阶段将接影响了SOC 内部的架构及各模块间互动的讯号,及未来产品的可靠性。决定模块之后,可以用VHDL 或Verilog 等硬件描述语言实现各模块的设计。接着利用VHDL 或Verilog 的电路仿真器,对设计进行功能验证(function simulation或行为验证 behavioral simulation)。注意:这种功能仿真没

13、有考虑电路实际的延迟,但无法获得精确的结果。 3逻辑综合。确定设计描述正确后,可以使用逻辑综合工具(synthesizer)进行综合。综合过程中,需要选择适当的逻辑器件库(logic cell library),作为合成逻辑电路时的参考依据。硬件语言设计描述文件的编写风格是决定综合工具执行效率的一个重要因素。事实上,综合工具支持的HDL 语法均是有限的,一些过于抽象的语法,只适于作为系统评估时的仿真模型,而不能被综合工具接受。逻辑综合得到门级网表。 4门级验证(Gate-Level Netlist Verification)。门级功能验证是寄存器传输级验证。主要的工作是要确认经综合后的电路是否

14、符合功能需求,该工作一般利用门电路级验证工具完成。注意,此阶段仿真需要考虑门电路的延迟。 5布局和布线。布局指将设计好的功能模块合理地安排在芯片上,规划好它们的位置。布线则指完成各模块之间互连的连线。注意,各模块之间的连线通常比较长,因此,产生的延迟会严重影响SOC的性能,尤其在0.25 微米制程以上,这种现象更为显著。目前,这一个行业仍然是中国的空缺,开设集成电路设计与集成系统专业的大学还比较少,其中师资较好的学校有 上海交通大学,哈尔滨工业大学,黑龙江大学、东南大学,西安电子科技大学,电子科技大学,哈尔滨理工大学,复旦大学,华东师范大学等。这个领域已经逐渐饱和,越来越有趋势走上当年软件行业

15、的道路。 二、设计题1、 写异步D触发器的verilog modulemodule dff(clk , reset, d, q); input clk,reset,d; output q; reg q; always (posedge clk or posedge reset) if(reset) q = 0; else q = d; endmodule2、用时序逻辑设计一个25分频计数器,clk为输入。Rst为复位,out为输出,要求每25个时钟,输出一个脉冲,用verilogHDL语言设计。module divide25( clk , count, Rst, out); input clk

16、 , Rst; output 3:0count, out; reg 3:0count; always ( posedge clk) if (Rst) count = 5b00000; elseif (count = 5b11000)count = 1b0;else count=count+1;endendout=countendmodule3、用verilogHDL语言设计1101的序列检测器,其中a为输入被检测信号,rst为复位,低电平有效,clk为输入时钟,out为输出。当clk上升沿到来时检测,如检测到1101,则,输出out为1,否则为0。( state为内部寄存器)。 module

17、seqdet(out, a, rst, clk); parameter IDLE=3d0, A=3d1, B=3d2, C=3d3, D=3d4; output out; input a, rst, clk; reg1:0 state, next_state; wire out; assign out=(state=D)?1:0; always (posedge clk or negedge rst) if (rst) state=IDLE; else case(state) IDLE:if(a) next_state=A; elsenext_state=IDLE; A:if(a) next_

18、state=B; elsenext_state=IDLE; B:if(a) next_state=B; elsenext_state=C; C:if(a) next_state=D; elsenext_state=IDLE; D:if(a) next_state=B; elsenext_state=IDLE; default:next_state=IDLE; endcase always (posedge clk) state= b) begin out=1; endelse if (a b) begin out=0; end else begin out=z; end endendmodul

19、e 三、论述题(在下列三个题中自选一个):2、EDA和芯片制造新技术的现状、趋势前景答:EDA 是电子设计自动化( Electronic Design Automation) 的缩写。它是一门正在高速发展的新技术, 是以大规模可编程逻辑器件为设计载体, 以硬件描述语言为系统逻辑描述的主要表达方式, 以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具, 通过有关的开发软件, 自动完成用软件的方式设计电子系统到硬件系统的一门新技术。可以实现逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化, 逻辑布局布线、逻辑仿真。完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作, 最终形成集成电

20、子系统或专用集成芯片。EDA 代表了当今电子设计技术的最新发展方向, 即利用EDA 工具, 电子设计师可以从概念、算法、协议等开始设计电子系统, 大量工作可以通过计算机完成, 并可以将电子产品从电路设计、性能分析到设计出IC 版图或PCB 版图的整个过程在计算机上自动处理完成。设计者采用的设计方法是一种高层次的自上而下的全新设计方法, 即首先从系统设计入手, 在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述, 在系统一级进行驶证; 然后用综合优化工具生成具体门电路的网络表, 其对应的物理实现级可以是印刷电路板或专用集成电路。设计者的工

21、作仅限于利用软件的方式, 即利用硬件描述语言和EDA 软件来完成对系统硬件功能的实现。随着设计的主要仿真和调试过程是在高层次上完成的, 这既有利于早期发现结构设计上的错误, 避免设计工作的浪费, 又减少了逻辑功能仿真的工作量, 提高了设计的一次性成功率。随着现代电子产品的复杂度和集成度的日益提高, 一般的中小规模集成电路组合已不能满足要求, 电路设计逐步地从中小规模芯片转为大规模、超大规模芯片, 具有高速度、高集成度、低功耗的可编程器件已蓬勃发展起来。硬件描述语言( HDL) 是一种用于进行电子系统硬件设计的计算机高级语言, 它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连接形式。硬

22、件描述语言是EDA 技术的重要组成部分, 是EDA 设计开发中很重要的软件工具。VHDL 即超高速集成电路硬件描述语言, 是作为电子设计主流硬件的描述语言。它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计可靠性,用VHDL 进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现, 而不需要对不影响功能与工艺有关的因素花费过多的时间和精力。硬件描述语言可以在三个层次上进行电路描述, 其层次由高到低,分为行为级、几级和门电路级。应用VHDL 进行电子系统设计有以下优点:(1)VHDL 的宽范围描述能力使它成为高层次设计的核心。

23、 将设计人员的工作重心提高到了系统功能的实现与调试, 只需花较少的精力用于物理实现。(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计, 灵活且方便, 而且也便于设计结果的交流、保存和重用。(3) VHDL 的设计不依赖于特定的器件, 方便了工艺的转换。(4) VHDL 是一个标准语言, 为众多的EDA 厂商支持, 因此移植性好。将EDA 技术与传统电子设计方法进行比较可以看出, 传统的数字系统设计只能在电路板上进行设计, 是一种搭积木式的方式, 使复杂电路的设计、调试十分困难; 如果某一过程存在错误, 查找和修改十分不便; 对于集成电路设计而言, 设计实现过程与具体生产工艺直接相

24、关, 因此可移植性差; 只有在设计出样机或生产出芯片后才能进行实现, 因而开发产品的周期长。而EDA 技术则有很大不同, 采用可编程器件, 通过设计芯片来实现系统功能。采用硬件描述语言作为设计输入和库的引入, 由设计者定义器件的内部逻辑和管脚, 将原来由电路板设计完成的大部分工作改在芯片的设计中进行。由于管脚定义的灵活性, 大大减轻了电路图设计和电路板设计的工作量和难度, 有效增强了设计的灵活性, 提高了工作效率。并且可减少芯片的数量, 缩小系统体积, 降低能源消耗, 提高了系统的性能和可靠性。能全方位地利用计算机自动设计、仿真和调试。EDA 技术的发展趋势:EDA 技术发展迅猛, 逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面: 几乎所有理工科( 特别是电子信息) 类的高校都开设了EDA 课程。主要是让学生了解EDA 的基本原理和基本概念、掌握用VHDL 描述系统逻辑的方法、使用EDA 工具进行电子电路课程的模拟仿真实验。如实验教学、课程设计、毕业设计、设计竞赛等均可借助CPLD/ FPGA 器件, 使实验设备或设计出的电子系统具有高可靠性, 又经济、快速、容易实现、修改便利, 同时可大大提高学生的实践动手能力、创新能力和计算机应用能力。在科研方面: 主要利用电路仿真工具进行电路设计与仿真

温馨提示

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

评论

0/150

提交评论