Verilog 主从 JK 触发器实现:仅使用与非门
在使用逻辑门描述主从 JK 触发器时,不需要使用'always'语句。以下是使用 4 个二输入与非门、3 个三输入与非门、1 个四输入与非门和 1 个非门来构建的主从 JK 触发器的 Verilog 代码:
module JKFlipFlop (
input wire J, K, CLK, CLR,
output reg Q, Q_bar
);
wire N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12;
nand2 gate1 (N1, J, Q_bar);
nand2 gate2 (N2, K, Q);
nand3 gate3 (N3, N1, CLK, N2);
nand2 gate4 (N4, J, Q_bar);
nand2 gate5 (N5, K, Q);
nand3 gate6 (N6, N4, CLK, N5);
nand2 gate7 (N7, N3, CLR);
nand2 gate8 (N8, N6, CLR);
nand3 gate9 (N9, N3, N7, N8);
nand3 gate10 (N10, N6, N8, N7);
nand2 gate11 (N11, N9, N10);
nand4 gate12 (N12, N3, N7, N8, N11);
assign Q = N12;
assign Q_bar = ~Q;
endmodule
在这段代码中,我们使用了 nand 门 ('nand2'、'nand3' 和 'nand4') 和非门 ('~') 来实现主从 JK 触发器。每个门的输出通过线 ('wire') 连接到下一个门的输入。逻辑门的类型和连接方式按照主从 JK 触发器的逻辑功能进行布局。
'assign' 语句用于将最终的输出连接到 'Q' 和 'Q_bar'。'Q' 由 'N12' 驱动,并使用 '~Q' 计算 'Q_bar'。
这个代码只使用了与非门 (nand 门) 和非门来描述主从 JK 触发器。如果有任何疑问,请随时提问。
原文地址: https://www.cveoy.top/t/topic/puf 著作权归作者所有。请勿转载和采集!