第9章 Verilog设计进阶
- 格式:ppt
- 大小:797.01 KB
- 文档页数:44


1.使用assign和deassign语句,设计一个带异步clear (q = 0)和preset (q = 1)端口的由上升沿触发的D触发器。
答:代码如下:module my_dff(q,d,clock,clear,preset);output q;input d,clock,clear,preset;reg q;always @(posedge clock)beginq=d;endalways @(clear or preset)if(clear)assign q=1'b0;else if (preset)assign q=1'b1;elsedeassign q;endmodule仿真输出如下:2.使用基本逻辑门设计一个一位全加器FA。
在激励模块中调用这个全加器。
在15至35个时间单位之间强迫输出值sum为a & b & c_in。
答:代码及激励模块见chapter9.v。
仿真输出如下,在15ns时,输出变化,在35ns时,由于和值与强迫输出值相同,故没有变化。
Verilog HDL 数字设计与综合(第二版)126 3.由逻辑门定义的带延迟参数的一位全加器FA ,如下面的模块所示:定义一个如例5.8所示的四位全加器fulladd4,使用本书中讨论的两种方法,传送下表所示的参数值给所引用的实例:实 例 延 迟 值 fa0 d_sum = 1, d_cout = 1 fa1 d_sum = 2, d_cout = 2 fa2 d_sum = 3, d_cout = 3 fa3d_sum = 4, d_cout = 4a .编写fulladd4模块,用defparam 语句改变实例参数的值。
使用例5.9中的激励文件对这个四位全加器进行仿真。
解释全加器的结果延迟,什么时候出现加法器的输出(在该激励文件中使用20作为延迟值,而不是用5)。
b .编写fulladd4模块,把延迟值传送到调用的实例fa0,fa1,fa2和fa3中。