我是靠谱客的博主 现实外套,这篇文章主要介绍异步复位,同步复位,异步复位同步释放,现在分享给大家,希望可以做个参考。

1.异步复位

异步复位:异步复位是指无论时钟是否到来,只要复位信号有效,就对系统进行复位。

代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module asy(clk,rst_n,d,q); input wire clk; input wire rst_n; input wire d; output reg q; always@(posedge clk or negedge rst_n)//�첽��λ begin if(!rst_n) q<=0; else q<=d; end endmodule

RTL图如下:

异步复位的优缺点:(优点:占用较少逻辑单元。缺点:可能会产生竞争冒险)

testbench如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
`timescale 1ns/1ns module tb_asy; reg clk; reg rst_n; reg d; wire q; initial begin clk=0; rst_n=0; #55 rst_n=1; #55 rst_n=0; #55 rst_n=1; #55 rst_n=0; end always #10 clk=~clk; asy asy( .clk(clk), .rst_n(rst_n), .d(d), .q(q) ); endmodule

仿真结果如下:

2.同步复位

同步复位:复位信号只有在时钟上升沿到来时才有效。

代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module syn(clk,rst_n,d,q); input wire clk; input wire rst_n; input wire d; output reg q; always@(posedge clk) begin if(!rst_n) //同步复位 q<=0; else q<=d; end endmodule

RTL图如下:

同步复位的优缺点:(优点:可以尽量点少竞争冒险的可能。缺点:会占用更多的逻辑单元)

testbench如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
`timescale 1ns/1ns module tb_syn; reg clk; reg rst_n; reg d; wire q; initial begin clk=0; rst_n=0; #55 rst_n=1; #55 rst_n=0; #55 rst_n=1; #55 rst_n=0; end always #10 clk=~clk; syn syn( .clk(clk), .rst_n(rst_n), .d(d), .q(q) ); endmodule

仿真结果如下:

3.异步复位同步释放

 

最后

以上就是现实外套最近收集整理的关于异步复位,同步复位,异步复位同步释放的全部内容,更多相关异步复位内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部