当前位置: 代码迷 >> 综合 >> verilog组合逻辑和时序逻辑怎么用硬件描述语言描述
  详细解决方案

verilog组合逻辑和时序逻辑怎么用硬件描述语言描述

热度:64   发布时间:2024-02-13 08:24:34.0

组合逻辑电路

1:与门

assign c=a&b;

always@(*)

c=a&b;

2:或门

assign c=a|b;

always@(*)

c=a|b;

3:非门

assign c=~a;

always@(*)

c=~a;

4.比较器

assign c=(a>=b)?1'b1:1'b0;

always@(*)

if(a>=b)

c=1'b1;

else

c=1'b0;

5.选择器

assign c=(a>=b)?d:e;

always@(*)

if(a>=b)

c=d;

else

c=e;

6.译码器

always@(*)

case(a)

2'd0:c=4'b0001;

2'd1:c=4'b0010;

2'd2:c=4'b0100;

2'd3:c=4'b1000;

endcase

7.编码器

always@(*)

case(a)

4'b0001:c=2'd0;

4'b0010:c=2'd1;

4'b0100:c=2'd2;

4'b1000:c=2'd3;

endcase

8.加法器

assign c=a+b;

时序逻辑D触发器

always@(posedge clk or negedge rst_n)

begin

if(!rst_n)

q<=1'b0;

else

q<=d;

end

  相关解决方案