Verilog描述时序逻辑电路

一、分类:米利型和穆尔型时序电路:

     米利型:O = h(I,S);  穆尔型: O = h(S)

二、时序逻辑电路功能的表达:激励方程式,转换方程组,输出方程组。

三、四位双向移位寄存器
1.jpg
module shift74x194_beh(
  input S1,S0,
  input CP,CR,  
  input Dsl,Dsr,//串行数据输入
  input [3:0] D,
  output reg [3:0] Q
);
always @(posedge CP,negedge CR)
if(~CR)  Q <= 4'b0000;
else 
  case({S1,S0})
  2'b00: Q <= Q;
  2'b01: Q <= { Q[2:0], Dsr}; //右移
  2'b10: Q <= {Dsl,Q[3:1]}; //左移
  2'b11: Q <= D;  //并行置数
  endcase
endmodule
3.jpg
module counter74x161_beh(
  input CEP,CTP,PE,CP,CR,
  input [3:0]D,
  output TC,
  output reg [3:0]Q
);
wire CE;
assign CE = CEP & CET;
assign TC = CET & PE & (Q == 4'b1111);
always @(posedge CP,negedge CR)
  if(~CR) Q <= 4'b0000;
  else if(~PE) Q <= D;
  else if(CE) Q <= Q+1'b1;
  else Q <= Q;
endmodule
//通用的可逆计数器
module updowncount_beh
#(parameter n = 4
)
(
  input Load,Up_down,En,CP, 
  input [n-1:0]D,
  output reg[n-1:0] Q
);
integer direction;
always @(posedge CP)
begin 
  if(Up_down)
    direction <= 1;
  else 
    direction <= -1;
  if(Load)
    Q <= D;   //同步置数
  else if(En)
    Q <= Q + direction;
  else 
    Q <= Q;
 end
endmodule
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【嵌牛导读】:学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好...
    khk_abc阅读 6,938评论 0 0
  • 概述 学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好地理解计...
    CodingTech阅读 8,885评论 2 8
  • 终身学习,相信很多人有这样的理念,这时学习方法就很重要。 学习有输入处理输出,输出是体现成果的时候,输入却是基础。...
    豆子121阅读 1,254评论 2 4
  • 一开始的镜头突然出现红红的手,吓到我了,这红色不是鲜红的血淋淋的,是粉粉的浅浅的红。 后来她在一个房子里,手沾满了...
    爱元若哥哥阅读 1,709评论 0 1
  • 1. 春,将严冬的苍白蘸染成五颜六色的美丽 春,将呼啸的冷凛哼唱成一曲快乐的颂歌 春,将温暖如床的大地洒上阳光,空...
    蕙清阅读 10,425评论 8 14