求大神帮忙数电课外题,小女子感激不尽:运用quartusⅡ及modelsim工具软件,用verilog或原理图 10
运用quartusⅡ及modelsim工具软件,用verilog或原理图输入进行设计与验证(以下题目中任意一题都可以,最好不要第一题啦~)1、4位加法器设计;2、具有置0...
运用quartusⅡ及modelsim工具软件,用verilog或原理图输入进行设计与验证
(以下题目中任意一题都可以,最好不要第一题啦~)
1、4位加法器设计;
2、具有置0端、置1端的D触发器;
3、具有置零端、置数端的4位二进制加法计数器;
4、101序列检测器;
5、防抖动开关; 展开
(以下题目中任意一题都可以,最好不要第一题啦~)
1、4位加法器设计;
2、具有置0端、置1端的D触发器;
3、具有置零端、置数端的4位二进制加法计数器;
4、101序列检测器;
5、防抖动开关; 展开
展开全部
//第四题verilog代码:(用移位寄存器和组合逻辑实现,moore状态机)
module seq_rec_101_moore(output D_out, input D_in, En, clk, rst);
parameter empty = 3'b000;
reg[2:0] data;
always @(posedge clk)
if(rst == 1)data <= empty;else if(En == 1) data <= {D_in, data[2:1]};
assign D_out = (data == 3'b101);
endmodule
//测试平台
//测试了序列不是101,序列是101两种情况。
module t_seq_rec_101_moore();
reg D_in, En, clk, rst;
wire D_out;
seq_rec_101_moore M0(D_out, D_in, En, clk, rst);
initial #180 $finish;
initial begin #5 rst = 1; #18 rst =0; end
initial begin clk = 0; forever #10 clk = ~clk; end
initial begin #5 En = 1; #100 En = 0;end
initial fork D_in = 0; #25 D_in = 1; #35 D_in = 0; #45 D_in = 1; #55 D_in = 0;
#75 D_in = 1; #95 D_in = 0;
#105 D_in = 1; #115 D_in = 0; #125 D_in = 1; #135 D_in = 0; join
endmodule
module seq_rec_101_moore(output D_out, input D_in, En, clk, rst);
parameter empty = 3'b000;
reg[2:0] data;
always @(posedge clk)
if(rst == 1)data <= empty;else if(En == 1) data <= {D_in, data[2:1]};
assign D_out = (data == 3'b101);
endmodule
//测试平台
//测试了序列不是101,序列是101两种情况。
module t_seq_rec_101_moore();
reg D_in, En, clk, rst;
wire D_out;
seq_rec_101_moore M0(D_out, D_in, En, clk, rst);
initial #180 $finish;
initial begin #5 rst = 1; #18 rst =0; end
initial begin clk = 0; forever #10 clk = ~clk; end
initial begin #5 En = 1; #100 En = 0;end
initial fork D_in = 0; #25 D_in = 1; #35 D_in = 0; #45 D_in = 1; #55 D_in = 0;
#75 D_in = 1; #95 D_in = 0;
#105 D_in = 1; #115 D_in = 0; #125 D_in = 1; #135 D_in = 0; join
endmodule
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询