时序逻辑电路设计入门——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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复