【发布时间】:2009-11-10 00:51:05
【问题描述】:
我已经编写了两个模块 DLatch 和 RSLatch,我想编写 verilog 代码来加入这两个模块。
【问题讨论】:
我已经编写了两个模块 DLatch 和 RSLatch,我想编写 verilog 代码来加入这两个模块。
【问题讨论】:
说真的,您应该为自己准备一本 Verilog 手册或搜索一些在线资源。
无论如何,这样的事情应该可以工作:
module dff (
input Clk,
input D,
output Q,
output Qbar
);
wire q_to_s;
wire qbar_to_r;
wire clk_bar;
assign clk_bar = ~Clk;
D_latch dlatch (
.D(D),
.Clk(Clk),
.Q(q_to_s),
.Qbar(qbar_to_r)
);
RS_latch rslatch (
.S(q_to_s),
.R(qbar_to_r),
.Clk(clk_bar),
.Qa(Q),
.Qb(Qbar)
);
endmodule
【讨论】:
您可能想查看Emacs AUTOWIRE
【讨论】:
您需要创建一个外部模块,其端口如原理图所示(D、Clk、Q、NQ)。在此模块中,您实例化两个子模块 DLatch 和 RSLatch,并适当地连接端口。 (您需要为内部互连声明额外的电线。)
【讨论】: