北邮电子院专业实验报告材料

上传人:re****.1 文档编号:432923106 上传时间:2023-08-30 格式:DOC 页数:47 大小:3.14MB
返回 下载 相关 举报
北邮电子院专业实验报告材料_第1页
第1页 / 共47页
北邮电子院专业实验报告材料_第2页
第2页 / 共47页
北邮电子院专业实验报告材料_第3页
第3页 / 共47页
北邮电子院专业实验报告材料_第4页
第4页 / 共47页
北邮电子院专业实验报告材料_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《北邮电子院专业实验报告材料》由会员分享,可在线阅读,更多相关《北邮电子院专业实验报告材料(47页珍藏版)》请在金锄头文库上搜索。

1、word电子工程学院ASIC专业实验报告班级:某某: 学号:班内序号:第一局部 语言级仿真LAB 1:简单的组合逻辑设计一、 实验目的掌握根本组合逻辑电路的实现方法。二、 实验原理本实验中描述的是一个可综合的二选一开关,它的功能是当sel = 0时,给出out = a,否如此给出结果out = b。在Verilog HDL中,描述组合逻辑时常使用assign结构。equal=(a=b)?1:0是一种在组合逻辑实现分支判断时常用的格式。parameter定义的size参数决定位宽。测试模块用于检测模块设计的是否正确,它给出模块的输入信号,观察模块的内部信号和输出信号。三、 源代码module s

2、cale_mux(out,sel,b,a);parameter size=1;outputsize-1:0 out;inputsize-1:0b,a;input sel;assign out = (!sel)?a: (sel)?b: size1bx;endmoduledefine width 8timescale 1 ns/1 nsmodule mux_test; regwidth:1a,b; wirewidth:1out; reg sel; scale_mux#(width)m1(.out(out),.sel(sel),.b(b),.a(a); initial begin $monitor(

3、$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;b=width1b1;a=width1b0; #5sel=1;b=width1b0;a=width1b1; #5sel=1;b=width1b1;a=width1b0; #5 $finish; endendmodule四、 仿真结果与波形LAB 2:简单时序逻辑电路的设计一、 实验目的掌握根本时序逻辑电路的实现。二、 实验原理在Verilog HDL中,相对于组合逻辑电路,时序逻辑电路也

4、有规定的表述方式。在可综合的Verilog HDL模型中,我们常使用always块和(posedge clk)或(negedge clk)的结构来表述时序逻辑。在always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的对于reg型数据,如果未对它进展赋值,仿真工具会认为它是不定态。为了正确地观察到仿真结果,在可综合的模块中我们通常定义一个复位信号rst-,当它为低电平时对电路中的存放器进展复位。三、 源代码timescale 1 ns/100 psmodule counter(t,clk,data,rst_,load);output4:0t ;input 4:0da

5、ta;input clk;input rst_;input load;reg 4:0t; always(posedge clk or negedge rst_) if(!rst_) #1.2 t=0; else if(load) t=#3 data; else t=#4 t + 1; endmoduletimescale 1 ns/1 nsmodule counter_test; wire4:0t; reg 4:0data; reg rst_; reg load; reg clk; counter c1 ( .t (t), .clk (clk), .data(data), .rst_(rst_

6、), .load(load) ); initial begin clk=0; forever begin #10 clk=1b1; #10 clk=1b0; end endinitial begin $timeformat(-9,1,ns,9); $monitor(time=%t,data=%h,clk=%b,rst_=%b,load=%b,t=%b, $stime,data,clk,rst_,load,t); $dumpvars(2,counter_test); endtask expect;input 4:0expects; if(t !=expects)begin $display(At

7、 time %t t is %b and should be %b, $time,t,expects); $display(TEST FAILED); $finish; endendtaskinitial begin (negedge clk) rst_,load,data=7b0_X_XXXXX;(negedge clk)expect(5h00); rst_,load,data=7b1_1_11101;(negedge clk)expect(5h1D); rst_,load,data=7b1_0_11101; repeat(5)(negedge clk); expect(5h02); rst

8、_,load,data=7b1_1_11111;(negedge clk)expect(5h1F); rst_,load,data=7b0_X_XXXXX;(negedge clk)expect(5h00); $display(TEST PASSED); $finish; endendmodule四、 仿真结果与波形五、 思考题该电路中,rst-是同步还是异步清零端?在counter.v的always块中reset没有等时钟,而是直接清零。所以是异步清零端。LAB 3:简单时序逻辑电路的设计一、 实验目的使用预定义的库元件来设计八位存放器。二、 实验原理八位存放器中,每一位存放器由一个二选一M

9、UX和一个触发器dffr组成,当load=1,装载数据;当load=0,存放器保持。对于处理重复的电路,可用数组条用的方式,使电路描述清晰、简洁。三、 源代码timescale 1 ns /1 nsmodule clock(clk);reg clk;output clk;initial beginclk=0;forever begin#10 clk=1b1;#10 clk=1b0;endendendmodulemux与dffr模块调用代码mux mux7(.out(n17),.sel(load),.b(data7),.a(out7);dffr dffr7(.q(out7), .d(n17),

10、.clk(clk), .rst_(rst_);mux mux6(.out(n16),.sel(load),.b(data6),.a(out6);dffr dffr6(.q(out6), .d(n16), .clk(clk), .rst_(rst_);mux mux5(.out(n15),.sel(load),.b(data5),.a(out5);dffr dffr5(.q(out5), .d(n15), .clk(clk), .rst_(rst_);mux mux4(.out(n14),.sel(load),.b(data4),.a(out4);dffr dffr4(.q(out4), .d(

11、n14), .clk(clk), .rst_(rst_);mux mux3(.out(n13),.sel(load),.b(data3),.a(out3);dffr dffr3(.q(out3), .d(n13), .clk(clk), .rst_(rst_);mux mux2(.out(n12),.sel(load),.b(data2),.a(out2);dffr dffr2(.q(out2), .d(n12), .clk(clk), .rst_(rst_);mux mux1(.out(n11),.sel(load),.b(data1),.a(out1);dffr dffr1(.q(out1), .d(n11), .clk(clk), .rst_(rst_);mux mux0(.out(n10),.sel(load),.b(data0),.a(out0);dffr dffr0(.q(out0), .d(n10), .clk(clk), .rst_(rst_);例化存放器register r1(.data(data),.out(out),.load(load),.clk(clk),.rst_(rst_);例化时钟clock c1(.clk(clk);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号