集成电路设计(第4版) 试题及答案 作业11_第1页
集成电路设计(第4版) 试题及答案 作业11_第2页
集成电路设计(第4版) 试题及答案 作业11_第3页
集成电路设计(第4版) 试题及答案 作业11_第4页
集成电路设计(第4版) 试题及答案 作业11_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

CH11简述VLSI设计的一般流程和涉及的问题。典型的设计流程被划分成三个综合阶段:高层综合、逻辑综合和物理综合。高层综合也称行为级综合,它是将系统的行为、各个组成部分的功能及输入和输出,用硬件描述语言HDL(如VHDL和Verilog)加以描述,然后进行行为级综合,同时通过高层次硬件仿真进行验证。逻辑综合将逻辑级行为描述转化成使用门级单元的结构描述(门级结构描述称为网表描述),同时还要进行门级逻辑仿真和测试综合。物理综合也称版图综合,它的任务是将门级网表自动转化成版图。这时对每个单元确定其几何形状、大小及位置,确定单元间的连接关系。了解目前业界所使用的EDA工具的情况,针对一两个具体的集成电路EDA软件功能,分析在VLSI设计流程中的作用。集成电路EDA软件工具很多,当今主流的EDA软件有Cadence、MentorGraphics和Synopsys。下面我们针对Cadence和Synopsys设计工具的功能,分析它们在VLSI设计流程中的作用。1.设计输入工具这是任何一种EDA软件必须具备的基本功能。像Cadence的composer,而硬件描述语言VHDL、VerilogHDL是主要设计语言。2.设计仿真工具我们使用EDA工具的一个最大好处是可以验证设计是否正确。Cadence、Synopsys用的是VSS(VHDL仿真器)。3.综合工具综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的DesignCompile是作为一个综合的工业标准,它还有另外一个产品叫BehaviorCompiler,可以提供更高级的综合。而Cadence的综合软件是Ambit。4.布局和布线在IC设计的布局布线工具中,Cadence软件是比较强的,最有名的是Cadencespectra。5.物理验证工具物理验证工具包括版图设计工具、版图验证工具、版图提取工具等等。这方面Cadence也是很强的,其Dracula、Virtuso、Vampire等物理工具有很多的使用者。编写二输入与非门的Verilog程序。moduleNAND_G2(A,B,C);inputA,B;outputC;nand(C,A,B);endmodule4.用Verilog语言编写RS触发器和D触发器的程序。同步RS触发器modulers_ff(clk,r,s,q,qb);inputr,s,clk;outputq,qb;regq;assignqb=~q;always@(posedgeclk)begincase({r,s})2’b00:q<=0;2’b01:q<=1;2’b10:q<=0;2’b11:q<=1’bx;endcaseendendmodule同步D触发器moduled_ff(clk,d,q,qb);inputd,clk;outputq,qb;regq;assignqb=~q;always@(posedgeclk)beginq<=d;endendmodule5.用Verilog语言编写JK触发器和T触发器的程序。同步JK触发器modulejk_ff(clk,r,s,q,qb);inputj,k,clk;outputq,qb;regq;assignqb=~q;always@(posedgeclk)begincase({j,k})2’b00:q<=0;2’b01:q<=1;2’b10:q<=0;2’b11:q<=~q;endcaseendendmodule同步T触发器modulet_ff(r,t,q,qb,clk);inputr,t,clk;outputq,qb;regq;assignqb=~q;always@(posedgeclk)beginif(r)q<=0;elseq<=~q;endendmodule6.用Verilog语言编写加法器和乘法器的程序。4位全加器moduleadder_4(cout,sum,ina,inb,cin);output[3:0]sum;outputcout;input[3:0]ina,inb;inputcin;assign{cout,sum}=ina+inb+cin;endmodule4位乘法器modulemult_4(X,Y,product);intput[3:0]X,Y;output[7:0]product;assignproduct=X*Y;endmodule7.用Verilog语言编写比较器和选择器的程序。比较器modulecompare_n(X,Y,XGY,XSY,XEY);input[width-1,0]X,Y;outputXGY,XSY,XEY;regXGY,XSY,XEY;parameterwidth=8;always@(XorY)beginif(X==Y)XEY=1;elseXEY=0;if(X>Y)XGY=1;elseXGY=0;if(X<Y)XSY=1;elseXSY=0;endendmodule选择器modulemux_2(out,a,b,sel);inputa,b,sel;outputout;regout;always@(aorborsel)begincase(sel)1’b1:out=a;1’b0:out=b;Default:out=’bx;endcaseendendmodule8.用Verilog语言编写寄存器和移位寄存器的程序。带使能端和复位端的时钟同步8寄存器moduleregister_8(ena,clk,data,rst,out)inputena,clk,rst;input[7:0]data;output[7:0]out;reg[7:0]out;always@(posedgeclk)beginif(!rst)out<=0;elseif(ena)out<=data;endendmodule移位寄存器moduleshifter(din,clk,clr,dout)inputdin,clk,clr;output[7:0]out;reg[7:0]out;always@(posedgeclk)beginif(clr)dout<=8’b0;elsebegindout<=dout<<1;dout[0]<=din;endendendmodule9.设计一个4位同比较器的VDHL程序。libraryieee;useieee.std_logic_1164.all;entitycompareisport(a:instd_logic_vector(3downto0);b:instd_logic_vector(3downto0);f:outboolean);architecturecompofcompareisbeginf<=’1’whena=belse‘0’;endcomp;10.设计一个4位的先进先出(FIFO)缓冲器VHDL程序,并进行仿真。libraryieee;useieee.std_logic_1164.all;entityfifoisgeneric(w:integer:=4;k:integer:=4);port(clk,reset,wr,rd:instd_logic;din:instd_logic_vector(k-1downto0);dout:outstd_logic_vector(k-1downto0);full,empty:outstd_logic);endfifo;architecturefifo_archoffifoistypememoryisarray(0tow-1)ofstd_logic_vector(k-1downto0);signalram:memory;signalwp,rp:integerrange0tow-1;signalin_full,in_empty:std_logic;beginprocess(clk)beginifrising_edge(clk)thenif(wr='0'andin_full='0')thenram(wp)<=din;endif;endif;endprocess;process(clk,reset)beginif(reset='1')thenwp<=0;elsifrising_edge(clk)thenif(wr='0'andin_full='0')thenif(wp=w-1)thenwp<=0;elsewp<=wp+1;endif;endif;endif;endprocess;process(clk,reset)beginif(reset='1')thenrp<=w-1;elsifrising_edge(clk)thenif(rd='0'andin_empty='0')thenif(rp=w-1)thenrp<=0;elserp<=rp+1;endif;endif;endif;endprocess;process(clk,reset)beginif(reset='1')thenin_empty<='1';elsifrising_edge(clk)thenif((rp=wp-2or(rp=w-1andwp=1)or(rp=w-2andwp=0))and(rd='0'andwr='1'))thenin_empty<='1';elsif(in_empty='1'andwr='0')thenin_empty<='0';endif;endif;endprocess;process(clk,reset)beginif(reset='1')thenin_full<='0';elsifrising_edge(clk)thenif(rp=wpandwr='0'andrd='1')thenin_full<='1';elsif(in_full='1'andrd='0')thenin_full<='0';endif;endif;endprocess;full<=in_full;empty<=in_empty;dout<=ram(rp)whenrd='0';endfifo_arch;11.逻辑综合有哪几个步骤?每个步骤需要解决什么问题?逻辑综合过程包含两个主要方面:1)逻辑结构的生成和优化:主要进行逻辑化简与优化,达到尽可能地用较少的元件和连线形成一个逻辑网络结构(逻辑图),满足系统逻辑功能的要求。2)逻辑网络的性能优化:利用给定的逻辑单元库,对已生成的逻辑网络进行元件配置,进而估算性能与成本。性能指

温馨提示

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

评论

0/150

提交评论