Verilog实现74LS194芯片
来源:互联网 发布:用python产生文件 编辑:程序博客网 时间:2024/06/07 04:19
module reg_74LS194 (input wire CR_n, input wire CP, input wire S0,S1, input wire Dsl,Dsr, input wire D0,D1,D2,D3, output wire Q0,Q1,Q2,Q3 );reg [0:3] q_reg=4'b0000;wire [1:0] s_reg;assign s_reg={S1,S0};always @(posedge CP or posedge CR_n) begin if (!CR_n) beginq_reg<=4'b0000;end else begincase (s_reg)2'b00 :q_reg<=q_reg;2'b01 :q_reg<={Dsr,q_reg[0:2]};2'b10 :q_reg<={q_reg[1:3],Dsl};2'b11 :q_reg<={D0,D1,D2,D3};default:q_reg<=4'b0000;endcaseendendassign Q0=q_reg[0];assign Q1=q_reg[1];assign Q2=q_reg[2];assign Q3=q_reg[3];endmodule
module reg_74LS194_tb (); reg clk;wire CR_n; reg[1:0] S; reg Dsl,Dsr; wire[3:0] D; wire[3:0] Q; wire [4:0] duty=2; wire [4:0] period=7; wire [4:0] duty1=3; wire [4:0] period1=4; reg [4:0] count=0; reg [4:0] count1=0; reg_74LS194 ut(.CR_n(CR_n), .CP(clk), .S0(S[0]), .S1(S[1]), .Dsl(Dsl), .Dsr(Dsr), .D0(D[0]), .D1(D[1]), .D2(D[2]), .D3(D[3]), .Q0(Q[0]), .Q1(Q[1]), .Q2(Q[2]), .Q3(Q[3]) ); always @(posedge clk) begin if (count==period-1) begin count<=0; end else begin count<=count+1; end end always @(posedge clk) begin if (count<duty) begin Dsl<=1'b0; Dsr<=1'b1; end else begin Dsl<=1'b1; Dsr<=1'b0; end end always @(posedge clk) begin if (count1==period1-1) begin count1<=0; end else begin count1<=count1+1; end end always @(posedge clk) begin if (count1<duty1) begin S[0]<=1'b0; S[1]<=1'b1; end else begin S[1]<=1'b0; S[0]<=1'b1; end end initial begin clk=1'b0; forever #50 clk=~clk; end assign D=4'b1111; initial begin #2000 $stop; end endmodule
阅读全文
0 0
- Verilog实现74LS194芯片
- 74LS194\74HC194的功能表
- 芯片设计:verilog断言(SVA)语法
- ADC芯片TLC549的Verilog HDL
- 用74LS194设计一个8个灯的流水灯电路
- verilog实现乘法器
- Verilog实现数字钟
- aes verilog实现
- verilog 实现加法器
- Verilog的I2C实现
- verilog实现串口
- Verilog实现分频器
- verilog实现计数器
- verilog 实现 IIC
- 使用verilog实现计数器
- verilog简单实现串口
- verilog实现38译码器
- verilog 实现DES密码算法
- UGUI动画控制Animator Controller&NGUI动画插件Tween
- lab1
- 习题5.8
- 静态初始化块、实例初始化块与构造器的加载
- [设计]模版模式
- Verilog实现74LS194芯片
- 对yum的认识
- hiho1620 股票价格3
- Activity
- Java Map集合知识点整理(疯狂Java讲义读书笔记)
- android studio真机调试offline的问题
- Android横竖屏切换及其生命周期
- js日期初始化总结:new Date()参数设置
- volatile无法保证i++原子性的解决方案