内容发布更新时间 : 2024/12/22 17:58:35星期一 下面是文章的全部内容请认真阅读。
10.6 习题
1.在下列电路中用到了哪种类型的延迟模型?给模块Y写Verilog描述。
Y
m n e #11 #4 p q f #8 out
答:用到了分布延迟。Verilog描述如下:
module Y(out,m,n,p,q); output out; input m,n,p,q;
wire e,f;
or #11 a1(e,m,n); and #8 a2(f,p,q); or #4 a3(out,e,f);
endmodule
2.在模块中用最大延迟把电路转换成集总延迟模型。用集总延迟模型重写模块Y的Verilog
描述。 答:代码如下:
module Y(out,m,n,p,q);
output out; input m,n,p,q;
wire e,f;
or a1(e,m,n); and a2(f,p,q); or #15 a3(out,e,f);
endmodule
3.计算习题1中的电路的每条输入到输出路径的延迟。使用路径延迟模型写Verilog描述。使用
specify块。
第10章 时序和延迟
145
答:代码如下:
module Y(out,m,n,p,q); output out; input m,n,p,q;
wire e,f;
specify
(m=>out) =15; (n=>out) =15; (p=>out) =12; (q=>out) =12;
endspecify
or a1(e,m,n); and a2(f,p,q); or a3(out,e,f);
endmodule
4.考虑下图所示的负边沿触发的异步复位D触发器。写模块D_FF的Verilog描述,只给出输
入/输出端口和路径延迟说明。使用并行连接描述路径延迟。
146 Verilog HDL数字设计与综合(第二版)
d clock
D_FF
q qbar
路径延迟 d->q ? 5 d->qbar ? 5 clock->q ? 6 clocd->qbar ? 7 reset->q ? 2 reset->qbar ? 3
reset
答:代码如下
module D_FF(q,qbar,d,clock,reset); output q,qbar; input d,clock,reset; reg q,qbar;
//bit to bit specify
(d=>q) =5; (clock=>q) =6; (reset=>q) =2; (d=>qbar) =5; (clock=>qbar) =7; (reset=>qbar) =3; endspecify
endmodule
5.假设所有路径延迟是5个单位时间,修改习题4中的D触发器。使用q和qbar的全连接来描
述路径延迟。 答:
module D_FF(q,qbar,d,clock,reset); output q,qbar; input d,clock,reset; reg q,qbar;
//full connection specify
(d,clock,reset *> q) = 5; (d,clock,reset *> qbar) = 5;