女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

異步復(fù)位與同步復(fù)位的綜合后電路圖講解

454398 ? 來源:博客園 ? 作者: IC_learner ? 2020-11-14 11:32 ? 次閱讀

這里來記錄一下相似代碼之間的不同差異,比如同步復(fù)位與異步復(fù)位觸發(fā)器的對(duì)比,上升沿復(fù)位和下降沿復(fù)位的對(duì)比等等。這里主要使用ISE的綜合引擎。直接附上代碼和綜合后電路圖,有些會(huì)有部分講解。

一、異步復(fù)位與同步復(fù)位

我在復(fù)位電路里面講解了同步復(fù)位和異步復(fù)位的區(qū)別,這里就不詳細(xì)介紹了,鏈接如下:http://www.cnblogs.com/IClearner/p/6683100.html

(1)異步復(fù)位

異步復(fù)位的代碼如下所示:

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

綜合得到的電路圖如下所示:

可以看到使用了一個(gè)反相器單元和一個(gè)觸發(fā)器單元;從代碼中我們可以推斷出,這是一個(gè)高電平有效的、異步復(fù)位觸發(fā)器。

(2)同步復(fù)位

同步復(fù)位觸發(fā)器代碼如下所示,注意黑體部分

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

綜合得到的電路如下所示:

我們可以看到,也是由一個(gè)反向器單元和一個(gè)觸發(fā)器單元構(gòu)成,注意,這里的觸發(fā)器跟上面的觸發(fā)器顯然不是同一個(gè)類型的觸發(fā)器,管腳名稱改變了;結(jié)合代碼我們可以知道,這個(gè)觸發(fā)器是高電平觸發(fā)、同步復(fù)位的觸發(fā)器(由于是輸入信號(hào)是低電平有效,所以加了個(gè)反相器)。

二、不同電平之間的復(fù)位差異

(1)高電平觸發(fā)的異步復(fù)位VS低電平觸發(fā)的異步復(fù)位

①高電平觸發(fā)的異步復(fù)位(異步置位)

綜合得到的電路如下所示:

根據(jù)代碼,容易推斷得出這是一個(gè)高電平觸發(fā)、異步復(fù)位的觸發(fā)器(或者叫異步置位),這也與前面的內(nèi)容相符合(高電平觸發(fā)復(fù)位,所以不用加反相器)。

②低電平觸發(fā)的異步復(fù)位

代碼和電路跟 一(1)的代碼和電路相同,這里不進(jìn)行重述。

(2)高電平觸發(fā)的同步復(fù)位VS低電平觸發(fā)的同步復(fù)位

①高電平觸發(fā)的同步復(fù)位

代碼如下所示:

 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

綜合得到的電路如下所示:

可以知道,這是一個(gè)高電平有效、同步復(fù)位的觸發(fā)器單元。

②低電平觸發(fā)的同步復(fù)位

代碼和電路同一(2),這里不進(jìn)行重述

三、阻塞賦值和非阻塞賦值

(1)阻塞賦值綜合的觸發(fā)器

代碼如下所示,這里為了使用高電平觸發(fā)的觸發(fā)器單元,寫出高電平復(fù)位:

 1 module DFF_chain(
 2   input clk,
 3   input rst_r,
 4   input d,
 5   output reg q
 6 );
 7 reg reg_m ;
 8 always @(posedge clk )//high level reset,synchronization
 9   if(rst_r)begin
10         reg_m = 0;//block
11        q = 0; 
12   end   else begin
13         reg_m = d;
14         q = reg_m ;
15   end
16 endmodule

綜合得到的電路如下所示:

可以看到,綜合得到只有一個(gè)觸發(fā)器,中間的觸發(fā)器變量reg_m被優(yōu)化掉了,只剩下q這個(gè)觸發(fā)器。

(2)換個(gè)順序的非阻塞賦值的觸發(fā)器

把后面的這兩個(gè)語(yǔ)句對(duì)調(diào)一下,同時(shí)把中間的變量改個(gè)名字,改成reg_block(這里改名字只是為了區(qū)分后面的非阻塞賦值的情況)

即要綜合的代碼如下所示:

 1 module DFF_chain(
 2   input clk,
 3   input rst_r,
 4   input d,
 5   output reg q
 6 );
 7 reg reg_block ;
 8 always @(posedge clk )//high level reset,synchronization
 9   if(rst_r)begin//block
10         reg_block = 0;
11        q = 0; 
12   end   else begin //here has changed
13         q = reg_block ;
14         reg_block = d;        
15   end
16 endmodule

綜合得到的電路如下所示:

可以看到,調(diào)換順序之后,得到了我們我們想要的觸發(fā)器鏈。

結(jié)論:描述時(shí)序邏輯使用阻塞賦值可能得到正確的結(jié)果,也可以得到不正確的結(jié)果,因此時(shí)序邏輯不建議使用阻塞賦值

(3)非阻塞賦值綜合的觸發(fā)器

代碼如下所示:

 1 module DFF_chain(
 2   input clk,
 3   input rst_r,
 4   input d,
 5   output reg q
 6 );
 7 reg reg_m ;
 8 always @(posedge clk )//high level reset,synchronization
 9   if(rst_r)begin
10         reg_m <= 0;//non block 
11        q <= 0; 
12   end   else begin
13         reg_m <= d;
14         q <= reg_m ;
15   end
16 endmodule

綜合得到的電路如下所示:

從電路圖中可以看到,綜合得到了兩個(gè)觸發(fā)器,中間的觸發(fā)器reg_m被保留下來了,達(dá)到了我們預(yù)想中的觸發(fā)器鏈。

(4)換個(gè)順序后的非阻塞賦值

跟前面的阻塞賦值一樣,我們換一下順序,代碼如下所示:

 1 module DFF_chain(
 2   input clk,
 3   input rst_r,
 4   input d,
 5   output reg q
 6 );
 7 reg reg_nonblock ;
 8 always @(posedge clk )//high level reset,synchronization
 9   if(rst_r)begin//non block
10         reg_nonblock <= 0;
11        q <= 0; 
12   end   else begin
13         q <= reg_nonblock ;
14         reg_nonblock <= d;        
15   end
16 endmodule

綜合得到的電路如下所示:

從電路中可以看到,即使調(diào)換了順序,電路還是我們需要的觸發(fā)器鏈。

結(jié)論:描述時(shí)序邏輯,使用非阻塞賦值可以得到正確的結(jié)果,因此時(shí)序邏輯推薦使用非阻塞賦值

(5)描述組合邏輯電路時(shí)的阻塞賦值和非阻塞賦值

阻塞賦值描述組合邏輯(加法器),代碼如下所示:

 1 module Adder(
 2   input a,
 3   input b,
 4   input c,
 5   output reg q
 6 );
 7 reg sum_block ;
 8 always @(* )
 9    begin
10         sum_block = a + b  ;
11         q = sum_block + c;        
12    end
13 endmodule

綜合得到電路如下所示:

綜合得到的電路是一個(gè)加法器。

我們改成非阻塞賦值看看,代碼如下所示:

 1 module Adder(
 2   input a,
 3   input b,
 4   input c,
 5   output reg q
 6 );
 7 reg sum_block ;
 8 always @(* )
 9    begin
10         sum_block <= a + b  ;
11         q <= sum_block + c;        
12    end
13 endmodule

綜合得到的電路:

綜合得到的電路也是一個(gè)加法器。

因此可以冒險(xiǎn)地得到一個(gè)結(jié)論,無論是阻塞賦值還是非阻塞賦值,都可以描述組合邏輯,但是一般情況下,我們推薦使用阻塞賦值,一方面是對(duì)仿真有用,另一方面是區(qū)別于描述時(shí)序邏輯的非阻塞賦值。

最后我嘗試著在同一個(gè)塊中使用阻塞賦值和非阻塞賦值,ISE的綜合器報(bào)錯(cuò)。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2032

    瀏覽量

    61851
  • 同步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    10838
  • 異步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    13465
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)各種復(fù)位電路原理

    使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功
    發(fā)表于 05-30 16:53

    復(fù)位電路的作用、控制方式和類型

    復(fù)位電路也是數(shù)字邏輯設(shè)計(jì)中常用的電路,不管是 FPGA 還是 ASIC 設(shè)計(jì),都會(huì)涉及到復(fù)位,一般 FPGA或者 ASIC 的復(fù)位需要我們自
    的頭像 發(fā)表于 03-12 13:54 ?1810次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>的作用、控制方式和類型

    FPGA復(fù)位的8種技巧

    在 FPGA 設(shè)計(jì)中,復(fù)位起到的是同步信號(hào)的作用,能夠?qū)⑺械拇鎯?chǔ)元件設(shè)置成已知狀態(tài)。在數(shù)字電路設(shè)計(jì)中,設(shè)計(jì)人員一般把全局復(fù)位作為一個(gè)外部引腳來實(shí)現(xiàn),在加電的時(shí)候初始化設(shè)計(jì)。全局
    的頭像 發(fā)表于 11-16 10:18 ?1005次閱讀
    FPGA<b class='flag-5'>復(fù)位</b>的8種技巧

    復(fù)位電路的設(shè)計(jì)問題

    前言 最近看advanced fpga 以及fpga設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門道,而不是簡(jiǎn)單的外界信號(hào)輸入系統(tǒng)復(fù)
    的頭像 發(fā)表于 11-15 11:13 ?445次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>的設(shè)計(jì)問題

    復(fù)位電路的三種方式 復(fù)位電路的原理和作用

    ) 原理: 上電復(fù)位電路通常包含一個(gè)RC(電阻-電容)網(wǎng)絡(luò)。當(dāng)電源首次接通時(shí),電容充電需要一定的時(shí)間,這段時(shí)間內(nèi)電容上的電壓較低,導(dǎo)致復(fù)位電路輸出低電平,觸發(fā)微控制器的
    的頭像 發(fā)表于 10-21 10:28 ?4263次閱讀

    復(fù)位電路的電容多大的 復(fù)位電路設(shè)計(jì)類型有哪幾種

    復(fù)位電路是電子系統(tǒng)中的一個(gè)關(guān)鍵部分,它確保系統(tǒng)在啟動(dòng)或發(fā)生故障時(shí)能夠正確地初始化。復(fù)位電路的設(shè)計(jì)取決于多種因素,包括系統(tǒng)的復(fù)雜性、所需的復(fù)位
    的頭像 發(fā)表于 10-21 10:24 ?891次閱讀

    復(fù)位電路是如何工作的

    在現(xiàn)代電子系統(tǒng)中,復(fù)位電路扮演著至關(guān)重要的角色。它負(fù)責(zé)在系統(tǒng)啟動(dòng)時(shí)或在某些異常情況下將系統(tǒng)重置到一個(gè)預(yù)定義的初始狀態(tài)。這種重置機(jī)制確保了系統(tǒng)的穩(wěn)定性和可靠性,防止了由于未知狀態(tài)導(dǎo)致的潛在錯(cuò)誤。 1.
    的頭像 發(fā)表于 10-21 10:22 ?903次閱讀

    復(fù)位電路靜電整改案例分享(一)——交換機(jī)復(fù)位電路

    復(fù)位信號(hào),確保單片機(jī)在上電能夠立即進(jìn)入初始化狀態(tài)。其中上拉電阻可以確保在未按下按鈕時(shí)輸入引腳上具有高電平狀態(tài),避免輸入信號(hào)的浮動(dòng)和噪音干擾。在選擇上拉電阻時(shí),根據(jù)具體需求和電路設(shè)計(jì)合理參數(shù)可以提高
    的頭像 發(fā)表于 10-19 14:56 ?828次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>靜電整改案例分享(一)——交換機(jī)<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>

    復(fù)位電路介紹 復(fù)位電路的原理及作用

    復(fù)位電路(Reset Circuit)是現(xiàn)代電子設(shè)備中常見的一種關(guān)鍵電路,它用于確保在正確的時(shí)間和條件下將系統(tǒng)恢復(fù)到初始狀態(tài)。復(fù)位電路的設(shè)計(jì)
    的頭像 發(fā)表于 10-18 16:44 ?6831次閱讀

    51單片機(jī)復(fù)位電路電容怎么放電

    在51單片機(jī)的復(fù)位電路中,電容的放電過程是實(shí)現(xiàn)復(fù)位功能的關(guān)鍵環(huán)節(jié)之一。以下是關(guān)于51單片機(jī)復(fù)位電路中電容放電的介紹: 放電過程 電容充電狀態(tài)
    的頭像 發(fā)表于 08-06 10:52 ?1191次閱讀

    單片機(jī)復(fù)位電路電阻電容如何取值

    在單片機(jī)系統(tǒng)中,復(fù)位電路是非常重要的組成部分,它確保了單片機(jī)在啟動(dòng)時(shí)能夠可靠地進(jìn)入初始狀態(tài),以及在異常情況下能夠進(jìn)行復(fù)位操作。復(fù)位電路通常由
    的頭像 發(fā)表于 08-06 10:28 ?1999次閱讀

    STM32復(fù)位電路復(fù)位芯片和阻容復(fù)位電路區(qū)別

    STM32是一款廣泛使用的微控制器,其復(fù)位電路設(shè)計(jì)對(duì)于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細(xì)介紹STM32復(fù)位電路中使用復(fù)位芯片和阻容
    的頭像 發(fā)表于 08-06 10:26 ?2689次閱讀

    雙管正激勵(lì)磁復(fù)位電路的作用

    雙管正激勵(lì)磁復(fù)位電路是一種廣泛應(yīng)用于電子設(shè)備中的電路,它具有多種功能和優(yōu)點(diǎn)。 一、雙管正激勵(lì)磁復(fù)位電路的作用 雙管正激勵(lì)磁
    的頭像 發(fā)表于 08-02 15:41 ?928次閱讀

    FPGA同步復(fù)位異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)中的復(fù)位操作是設(shè)計(jì)過程中不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動(dòng)和穩(wěn)定運(yùn)行。在FPGA設(shè)計(jì)中,復(fù)位方式主要分為
    的頭像 發(fā)表于 07-17 11:12 ?2429次閱讀

    單端正激電路磁芯復(fù)位的方法

    復(fù)位的原理、復(fù)位方式、復(fù)位電路設(shè)計(jì)以及復(fù)位電路的優(yōu)化等方面。 一、磁芯
    的頭像 發(fā)表于 07-10 09:51 ?2888次閱讀