Verilog-教程(第三版)夏闻宇-第三部分练习题答案(共11页).docx
《Verilog-教程(第三版)夏闻宇-第三部分练习题答案(共11页).docx》由会员分享,可在线阅读,更多相关《Verilog-教程(第三版)夏闻宇-第三部分练习题答案(共11页).docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上Verilog-教程(第三版)夏闻宇-第三部分练习题答案专心-专注-专业1 设计一个字节(8位)的比较器,要求:比较两个字节的大小,如a7:0大于b7:0,则输出高电平,否则输出低电平;并改写测试模型,使其能进行比较全面的测试。模块源代码: 测试模块的源代码:timescale 1ns / 1psmodule t;reg 7:0 a;reg 7:0 b; reg clock;wire out;initial begina = 0;b = 0; clock=0;endalways #50 clock=clock;always (posedge clock) begina
2、=$random%256;b=$random%256; endinitial begin #1000 $stop;end compare uut (.out(out), .a(a), .b(b); endmodulemodule compare(out,a,b);input 7:0 a,b;output out;reg out;always (a or b) beginif(ab) out=1;else out=0;endendmodule仿真结果: 由图有:当a=8,b=8(即ab时),输出out为高电平;当a=8,b=8(即ab时),输出out为低电平,故满足要求。2.依然作clk_in的
3、2分频clk_out,要求输出时钟的相位与上面的1/2分频器的输出正好相反。编写测试模块,给出仿真波形。书上1/2分频器时序波形模块源代码: 测试模块源代码:timescale 1ns / 100psmodule top;reg clk;reg reset;wire clk_out; always #50 clk=clk;initial beginclk = 0;reset = 1;#10 reset=0;#110 reset=1;# $stop;endhalf_clk uut (.clk_in(clk), .reset(reset), .clk_out(clk_out);endmodulem
4、odule half_clk(clk_in,reset,clk_out);input clk_in,reset;output clk_out;reg clk_out;always (posedge clk_in)begin if(!reset) clk_out=1;else clk_out=clk_out;endendmodule 仿真波形:由上图可知clk_out的输出波形相位与前面输出波形相反。3. 利用10 MHZ的时钟,设计一个单周期形状的周期波形。分析:时钟信号f=10MHZ,分频1/20,f1=500KHZ时,j从0计到9(10个数)跳转完成半个周期,T0/2 =0.1us;图中可
5、把T分为三段即T1=T3=20us=200*0.1us(所以在T1阶段j要计200个数),而T2=10us可用延迟10000ns翻转达到。图中T=50us之后不显示,所以测试时到达50000ns时停止。故其模块源代码和测试模块源代码如下:模块源代码: 测试模块源代码:module fdivision(reset,F10M,F500K);input reset,F10M;output F500K;reg F500K;reg 7:0 j;always (posedge F10M) begin if(!reset) begin F500K=0; j=0; end else if(j=199) beg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 教程 第三 夏闻宇 部分 练习题 答案 11
限制150内