ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.81MB ,
资源ID:18679485      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18679485.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北邮电子院专业实验报告Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北邮电子院专业实验报告Word文件下载.docx

1、 initial begin $monitor($stime,sel=%b a=%b b=%b out=%b,sel,a,b,out); $dumpvars(2,mux_test); sel=0;b=width1b0;a=width1b1; #5sel=0; #5sel=1; #5 $finish; end四、 仿真结果与波形LAB 2:简单时序逻辑电路的设计掌握基本时序逻辑电路的实现。在Verilog HDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的Verilog HDL模型中,我们常使用always块和(posedge clk)或(negedge clk)的结构来表

2、述时序逻辑。在always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了正确地观察到仿真结果,在可综合的模块中我们通常定义一个复位信号rst-,当它为低电平时对电路中的寄存器进行复位。timescale 1 ns/100 psmodule counter(cnt,clk,data,rst_,load);output4:0cnt ;input 4:0data;input clk;input rst_;input load;reg 4:0cnt; always(posedge clk or negedge

3、 rst_) if(!rst_) # cnt=0; else if(load) cnt=#3 data;=#4 cnt + 1; endmodulemodule counter_test; wire4: reg 4: reg rst_; reg load; reg clk; counter c1 ( t (cnt), .clk (clk), .data(data), .rst_(rst_), .load(load) ); initial begin clk=0; forever begin #10 clk=1b1;b0;initial $timeformat(-9,1,ns,9); $moni

4、tor(time=%t,data=%h,clk=%b,rst_=%b,load=%b,cnt=%b, $stime,data,clk,rst_,load,cnt); $dumpvars(2,counter_test);task expect;0expects; if(cnt !=expects)begin $display(At time %t cnt is %b and should be %b $time,cnt,expects);TEST FAILED); $finish;endtask (negedge clk) rst_,load,data=7b0_X_XXXXX;(negedge

5、clk)expect(5h00);b1_1_11101;h1D);b1_0_11101; repeat(5)(negedge clk); expect(5h02);b1_1_11111;h1F);TEST PASSED五、 思考题该电路中,rst-是同步还是异步清零端在的always块中reset没有等时钟,而是直接清零。所以是异步清零端。LAB 3:使用预定义的库元件来设计八位寄存器。八位寄存器中,每一位寄存器由一个二选一MUX和一个触发器dffr组成,当load=1,装载数据;当load=0,寄存器保持。对于处理重复的电路,可用数组条用的方式,使电路描述清晰、简洁。timescale 1

6、ns /1 nsmodule clock(clk);reg clk;output clk;initial beginclk=0;forever begin#10 clk=1endmux及dffr模块调用代码mux mux7(.out(n17),.sel(load),.b(data7),.a(out7)dffr dffr7(.q(out7), .d(n17), .clk(clk), .rst_(rst_)mux mux6(.out(n16),.b(data6),.a(out6)dffr dffr6(.q(out6), .d(n16),mux mux5(.out(n15),.b(data5),.a

7、(out5)dffr dffr5(.q(out5), .d(n15),mux mux4(.out(n14),.b(data4),.a(out4)dffr dffr4(.q(out4), .d(n14),mux mux3(.out(n13),.b(data3),.a(out3)dffr dffr3(.q(out3), .d(n13),mux mux2(.out(n12),.b(data2),.a(out2)dffr dffr2(.q(out2), .d(n12),mux mux1(.out(n11),.b(data1),.a(out1)dffr dffr1(.q(out1), .d(n11),m

8、ux mux0(.out(n10),.b(data0),.a(out0)dffr dffr0(.q(out0), .d(n10),例化寄存器register r1(.data(data),.out(out),.load(load),.clk(clk),.rst_(rst_)例化时钟clock c1.clk(clk)添加检测信号begin$timeformat(-9,1,$monitor(time=%t,clk=%b,data=%h,load=%b,out=%h$stime,clk,data,load,out);$dumpvars(2,register_test);LAB 4:用always块实

9、现较复杂的组合逻辑电路掌握用always实现组合逻辑电路的方法;了解assign与always两种组合逻辑电路实现方法之间的区别。仅使用assign结构来实现组合逻辑电路,在设计中会发现很多地方显得冗长且效率低下。适当地使用always来设计组合逻辑,会更具实效。本实验描述的是一个简单的ALU指令译码电路的设计示例。它通过对指令的判断,对输入数据执行相应的操作,包括加、减、或和传数据,并且无论是指令作用的数据还是指令本身发生变化,结果都要做出及时的反应。示例中使用了电平敏感的always块,电平敏感的触发条件是指在后括号内电平列表的任何一个电平发生变化就能触发always块的动作,并且运用了c

10、ase结构来进行分支判断。在always中适当运用default(在case结构中)和else(子ifelse结构中),通常可以综合为纯组合逻辑,尽管被赋值的变量一定要定义为reg型。如果不使用default或else对缺省项进行说明,易产生意想不到的锁存器。电路描述always(opcode or data or accum)if(accum=8b00000000)# zero=1;else# zero=0;case(opcode)PASS0: # out =accum;PASS1:ADD: # out = data + accum;AND: # out =data&accum;XOR: #

11、 out =dataaccum;PASSD: # out=data;PASS6:# out=accum;PASS7:default:# out=8bx;endcaseLAB 5:存储器电路的设计设计和测试存储器电路。本实验中,设计一个模块名为mem的存储器仿真模型,该存储器具有双线数据总线及异步处理功能。由于数据是双向的,所以要注意,对memory的读写在时序上要错开。自行添加的代码assign data= (read)memoryaddr:8hZ;always (posedge write)memoryaddr=data7:0;LAB 6:设计时序逻辑时采用阻塞赋值与非阻塞赋值的区别明确掌握

12、阻塞赋值与非阻塞赋值的概念和区别;了解阻塞赋值的使用情况。在always块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以理解为并发执行的。实际时序逻辑设计中,一般情况下非阻塞赋值语句被更多的使用,有时为了在同一周期实现相互关联的操作,也使用阻塞赋值语句。timescale 1 ns/ 100 psmodule blocking(clk,a,b,c); output3:0b,c; input 3:0a; input clk; reg 3: always(posedge clk) b =a; c =b;Blocking: a=%d,b=%d,c=%d.,a,b,c);module n

13、on_blocking(clk,a,b,c);output3:0 b,c;input3:0 a;reg 3:always (posedge clk)b=a;c=b;$display(Non_blocking:a=%d,b=%d,c=%dmodule compareTop;wire 3:0 b1,c1,b2,c2;reg3:forever #50 clk=clk;$dumpvars (2,compareTop);a=4h3;_# 100 a =4h7;hf;ha;h2;# 100 $display($finish;non_blocking nonblocking(clk,a,b2,c2);blo

14、cking blocking(clk,a,b1,c1);LAB 7:利用有限状态机进行复杂时序逻辑的设计掌握利用有限状态机(FSM)实现复杂时序逻辑的方法。控制器是CPU的控制核心,用于产生一系列的控制信号,启动或停止某些部件。CPU何时进行读指令,何时进行RAM和I/O端口的读写操作等,都由控制器来控制。补充代码nexstate=state+1h01;case(state)1:begin sel=1;rd=0;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;2:rd=1;3:ld_ir=1;4:5:begin sel=0;inc_p

15、c=1;if(opcode=HLT)halt=1;6:rd=alu_op;7:data_e=!alu_op;if(opcode=SKZ)inc_pc=zero;if(opcode=JMP)ld_pc=1;0:ld_ac=alu_op;inc_pc=(opcode=SKZ)&zero|(opcode=JMP);if(opcode=STO)wr=1;No. 00000000 No. 00000101 No. 00000001 / 1C TEMP: /1 temporary variable 00000001 / 1D time: / 1 constant 144 - max value 00000

16、110 / 1E LIMIT: / 6 constant 1 / 1F AND1: /FF and一、 仿真结果与波形第二部分 电路综合掌握逻辑综合的概念和流程,熟悉采用Design Compiler进行逻辑综合的基本方法。二、 实验内容采用SYNOPSYS公司的综合工具Design Compiler对实验7的做综合。与实验指导书中相同。四、 门级电路仿真结果与波形1. 文件是verilog语言及的描述还是结构化的描述是结构化的描述。2. 文件中,对触发器的延迟包括哪些信息包括对逻辑单元和管脚的上升/下降时延的最大值、最小值和典型值。第三部分 版图设计掌握版图设计的基本概念和流程,熟悉采用Sy

17、snopsys ICC工具进行版图设计的方法。对电路综合输出的门级网表进行布局布线。布局规划后结果未产生core ring和mesh前产生core ring和mesh后电源线和电影PAD连接后filler PAD填充后布局后结果时钟树综合后结果布线后结果寄生参数的导出和后仿1. 简述ICC在design setup阶段的主要工作。创建设计库,读取网表文件并创建设计单元,提供并检查时间约束,检查时钟。在对之前的数据与信息进行读取与检查后保存设计单元。2. 为什么要填充filler padfiller pad把分散的pad单元连接起来,把pad I/O区域供电连成一个整体。使它们得到持续供电并提高

18、ESD保护能力。3. derive_pg_connection的作用是什么描述有关电源连接的信息。4. 简述floorplan的主要任务。对芯片大小、输入输出单元、宏模块进行规划,对电源网络进行设计。5. 简述place阶段的主要任务。对电路中的延时进行估计与分析,模拟时钟树的影响,按照时序要求,对标准化单元进行布局。6. 简述CTS的主要步骤。设置时钟树公共选项;综合时钟树;重新连接扫描链;使能传播时钟;Post-CTS布局优化;优化时钟偏移;优化时序。实验总结经过数周的ASIC专业实验,我对芯片设计流程、Verilog HDL语言、Linux基本指令和Vi文本编辑器有了基本的了解。虽然之前对芯片设计、VHDL一无所知,但通过实验初步熟悉了ASIC的体系结构和VHDL的基本语法,对电路中时钟、寄生参数、元件布局带来的影响也有了了解。我在实验中也遇到了许多问题,但我在老师、助教、同学的帮助下解决了这些问题,也有了更多收获。通过这次ASIC专业实验,我加深了对本专业的认识。我会继续努力成为合格的电子人。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1