题解 | #根据RTL图编写Verilog程序#

根据RTL图编写Verilog程序

https://www.nowcoder.com/practice/41a06522d8b242808c31a152bf948b5e

`timescale 1ns/1ns

module RTL(
	input clk,
	input rst_n,
	input data_in,

	output wire data_out
);

wire q1;
wire q2;

DFF data_in_reg
(
    .clk(clk),
	.SCLR(1'b0),
	.CLRN(rst_n),
	.D(data_in),

	.Q(q1)
);

and1 always1
(
    .data1(data_in),
	.data2(~q1),

	.out(q2)
);

DFF data_out_reg0
(
    .clk(clk),
	.SCLR(1'b0),
	.CLRN(rst_n),
	.D(q2),

	.Q(data_out)
);

endmodule

module DFF
(
    input    wire    clk,
	input    wire    SCLR,
	input    wire    CLRN,
	input    wire    D,

	output   reg     Q
);

always@(posedge clk or negedge CLRN)
    if (CLRN == 1'b0)
	    Q <= 1'b0;
	else
	    if(SCLR == 1'b0)
		    Q <= D;
		else if (SCLR == 1'b1)
		    Q <= 1'b0;
	    
endmodule

module and1
(
    input    wire    data1,
	input    wire    data2,

	output   wire    out
);

assign out = data1 & data2;

endmodule

写完以后看了别的大佬的写法,感觉自己太老实了。0.0

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:15
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 17:10
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:31
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务