我是靠谱客的博主 外向鞋垫,这篇文章主要介绍时序逻辑电路设计入门——Verilog HDL语言计数器移位寄存器,现在分享给大家,希望可以做个参考。

时序逻辑电路设计入门——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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(156)

评论列表共有 0 条评论

立即
投稿
返回
顶部