《可编程ASIC技术》课程作业

《可编程ASIC技术》课程作业

ID:35552421

大小:1.80 MB

页数:15页

时间:2019-03-27

《可编程ASIC技术》课程作业_第1页
《可编程ASIC技术》课程作业_第2页
《可编程ASIC技术》课程作业_第3页
《可编程ASIC技术》课程作业_第4页
《可编程ASIC技术》课程作业_第5页
资源描述:

《《可编程ASIC技术》课程作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《可编程ASIC技术》课程作业20141.举例说明阻塞赋值和非阻塞赋值有什么本质的区别?非阻塞赋值modulenon_block(c,b,a,clk);outputc,b;inputclk,a;regc,b;always@(posedgeclk)beginb<=a;c<=b;endendmodule阻塞赋值moduleblock(c,b,a,clk);outputc,b;inputclk,a;regc,b;always@(posedgeclk)beginb=a;c=b;endendmodule非阻塞赋值仿真波形图阻塞赋值仿真波形图由此可见阻塞赋值是并行赋值,非阻塞赋

2、值是随机的。2.用持续赋值语句描述一个4选1数据选择器。4选1的数据选择器程序:modulemux4_1(out,in1,in2,in3,in4,sel1,sel2);inputin1,in2,in3,in4;outputout;inputsel1,sel2;assignout=sel1?(sel2?in4:in3):(sel2?in2:in1);endmodule3.设计一个功能和引脚与74138类似的译码器,并仿真。译码器程序:moduleencoder(out,in,en);output[7:0]out;/*定义八位二进制码输出口*/input[2:0]in;

3、/*定义三位二进制码输入口*/input[2:0]en;/*三个使能端*/reg[7:0]out;always@(inoren)beginif(en==3'b100)case(in)3'd0:out=8'b11111110;3'd1:out=8'b11111101;3'd2:out=8'b11111011;3'd3:out=8'b11110111;3'd4:out=8'b11101111;3'd5:out=8'b11011111;3'd6:out=8'b10111111;3'd7:out=8'b01111111;endcaseelseout=8'b11111111;

4、endendmodule4.设计一个4位、可预置、可清零的移位寄存器,并仿真。可预置、可清零的移位寄存器程序:moduleshift_register(out,in,reset,set,clk);output[7:0]out;//定义四位输出端inputin,reset,set,clk;//输入信号、清零端、置数端、时钟信号reg[7:0]out;reg[7:0]md;//置数寄存器always@(posedgeclk)beginbeginmd=8'b00001101;end//这里预置数为00001101,可以根据需要更改if(reset)beginout<=0;

5、endelsebeginif(set)beginout<=md;end//置数信号为1,置数elsebeginout<={out,in};endendendendmodule5.设计一个上升沿触发的可预置、可清零16进制计数器,并仿真。如果要改为10进制计数器,应对该设计做哪些修改?modulecounter_16(Q,en,clock,clear,S);output[3:0]Q;input[3:0]S;inputen,clock,clear;reg[3:0]Q;always@(posedgeclock)beginif(clear==0)beginQ<=4'b000

6、0;endelseif(en==1)beginQ<=S;endelsebeginQ<=Q+1'b1;endendendmodule10进制计数器修改增加if(Q>=4'b1001) Q<=4'b0000;//当Q的值大于等于9,跳到0 6.分别用结构描述、数据流描述、行为描述三种方式,设计一个2位加法器,并比较上述三种方式各自的优缺点。结构描述modulefull_add(a,b,cin,sum,cout);inputa,b,cin;outputsum,cout;wires1,m1,m2,m3;and(m1,a,b),(m2,b,cin),(m3,a,cin);xo

7、r(s1,a,b),(sum,s1,cin);or(cout,m1,m2,m3);endmodule‘include“full_add.v”moduleadd_2_1(sum,cout,a,b,cin);inputcin;input[1:0]a,b;output[1:0]sum;outputcout;full_addf0(a[0],b[0],cin,sum[0],cin1);//级联full_addf1(a[0],b[0],cin1,sum[1],cout);endmodule数据流描述moduleadd_2_2(a,b,cin,sum,cout);inputc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。