代碼綜合後的電路對比
這裡來記錄一下相似代碼之間的不同差異,比如同步複位與非同步複位觸發器的對比,上升沿複位和下降沿複位的對比等等。這裡主要使用ISE的綜合引擎。直接附上代碼和綜合後電路圖,有些會有部分講解。
一、非同步複位與同步複位
我在複位電路裡面講解了同步複位和非同步複位的區別,這裡就不詳細介紹了,鏈接如下:http://www.cnblogs.com/IClearner/p/6683100.html
(1)非同步複位
非同步複位的代碼如下所示:
module DFF1(
input clk,
input rst_n,
input d,
output reg q
);
always@(posedge clk or negedge rst_n)
if(!rst_n)
q <= 0; //非同步清 0,低電平有效
else
q <= d;
endmodule
綜合得到的電路圖如下所示:
可以看到使用了一個反相器單元和一個觸發器單元;從代碼中我們可以推斷出,這是一個高電平有效的、非同步複位觸發器
(2)同步複位
同步複位觸發器代碼如下所示,注意黑體部分
module DFF2(
input clk,
input rst_n,
input d,
output reg q
);
always@(posedge clk )//注意這裡有所不同
if(!rst_n) q <= 0; //同步清 0,低電平有效 else q <= d; endmodule綜合得到的電路如下所示:
我們可以看到,也是由一個反向器單元和一個觸發器單元構成,注意,這裡的觸發器跟上面的觸發器顯然不是同一個類型的觸發器,管腳名稱改變了;結合代碼我們可以知道,這個觸發器是高電平觸發、同步複位的觸發器。
二、不同電平之間的複位差異
(1)高電平觸發的非同步複位VS低電平觸發的非同步複位
①高電平觸發的非同步複位(非同步置位)
代碼如下所示:
1 module DFF3(
2 input clk,
3 input rst_r,
4 input d,
5 output reg q
6 );
7
8 always@(posedge clk or posedge rst_r)
9 if(rst_r)
10 q <= 0;
11 else
12 q <= d;
13
14 endmodule
DFF3
綜合得到的電路如下所示:
根據代碼,容易推斷得出這是一個高電平、非同步複位的觸發器(或者叫非同步置位),這也與前面的內容相符合。
②低電平觸發的非同步複位
代碼和電路跟 一(1)的代碼和電路相同,這裡不進行重述。
(2)高電平觸發的同步複位VS低電平觸發的同步複位
①高電平觸發的同步複位
代碼如下所示:
1 module DFF4(
2 input clk,
3 input rst_r,
4 input d,
5 output reg q
6 );
7
8 always@(posedge clk )
9 if(rst_r)
10 q <= 0;
11 else
12 q <= d;
13
14 endmodule
綜合得到的電路如下所示:
可以知道,這是一個高電平有效、同步複位的觸發器單元。
②低電平觸發的同步複位
代碼和電路同一(2),這裡不進行重述
※滑鼠框選操作(支持遮罩層)上篇
※MySQL存儲寫入性能嚴重抖動分析
※springBoot基礎系列——properties配置
TAG:科技優家 |
※關於高速電路中的AC耦合電容
※中外模擬電路的差距比數字電路差距更大
※比特幣價格下跌對集成電路行業影響分析
※混合電路和模塊技術簡史
※電路規劃,手把手教你根據用電量,合理規劃電路迴路
※「後摩爾時代」,集成電路產業去向何方?
※模擬電路設計面對的新挑戰
※從大到小,集成電路的發展史》的道歉信
※如何克服鄰近電路的巨大電磁干擾源
※進口替代之集成電路
※如何設計開關電源的啟動電路
※混合電路和模塊技術的50年
※集成電路PPA時代到APP時代的投資邏輯
※電路板上那些及其精密的集成電路是怎麼製造的?看完之後腦洞大開
※繼電器如何實現電路漏電保護的
※模擬電路八大基礎電路分析
※集成電路一甲子:方寸之間上演時代更迭
※寒武紀已奠定成功的基礎和條件;集成電路現在依舊處於風頭浪尖;段永平的低調和務實才是真正大佬的水平;台灣年輕人對集成電路興趣已大減
※激光切割在5G電路板行業的應用
※電阻、電容及電感的高頻等效電路及特性曲線