概述
时序逻辑电路设计入门——Verilog HDL语言
- 计数器
- 移位寄存器
计数器
module count_test(en,clk,clr,cout,outy);
input en,clk,clr;
output [3:0]outy;
output cout;
reg [3:0]outy;
always @ (posedge clk or posedge clr)
// 请在下面添加代码,完成16 进制计数器功能
/* Begin */
if(clr) outy<=0;
else if(en)
if(outy < 16)
outy <= outy +1;
assign cout = (outy == 15)?1'b1:1'b0;
/* End */
endmodule
移位寄存器
module shift_test(din,s,srsi,slsi,clk,clr,dout);
input[7:0] din;
input[1:0] s;
input srsi,slsi,clk,clr;
output [7:0] dout;
reg[7:0] r_reg,r_next;
always@(posedge clk or negedge clr)
// 请在下面添加代码,完成 8 位双向移位寄存器功能
/* Begin */
if(!clr)
r_reg <=0;
else
r_reg<=r_next;
always @*
case(s)
2'b00:r_next = r_reg;
2'b01:r_next = {din[7],r_reg[7:1]};
2'b10:r_next = {r_reg[6:0],din[1]};//这里我认为是din[0],但是经过实践发现din[1]才与平台上的结果相匹配
default:r_next = din;
endcase
assign dout = r_reg;
/* End */
endmodule
最后
以上就是外向鞋垫为你收集整理的时序逻辑电路设计入门——Verilog HDL语言计数器移位寄存器的全部内容,希望文章能够帮你解决时序逻辑电路设计入门——Verilog HDL语言计数器移位寄存器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复