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

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

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

邏輯電路的基礎知識

e9Zb_gh_8734352 ? 來源:CSDN博客 ? 作者:CSDN博客 ? 2020-10-13 11:21 ? 次閱讀

FPGA (Field Programmable Gate Aray,現(xiàn)場可編程門陣列)是一種可通過重新編程來實現(xiàn)用戶所需邏輯電路的半導體器件。為了便于大家理解FPGA的設計和結(jié)構(gòu),我們先來簡要介紹一些邏輯電路的基礎知識。

1.邏輯代數(shù)

邏輯代數(shù)中的變量稱為邏輯變量,用大寫字母表示。邏輯變量的取值只有兩種,即邏輯0和邏輯1,0 和 1 稱為邏輯常量,并不表示數(shù)量的大小,而是表示兩種對立的邏輯狀態(tài),即稱為邏輯0狀態(tài)和邏輯1狀態(tài)。邏輯代數(shù)是由和邏輯值(0和1)相關(guān)的邏輯與( AND)、邏輯或(OR)和邏輯非(NOT)三種運算形成的代數(shù)體系,也稱為布爾代數(shù)。

邏輯代數(shù)分為兩種:一種是從一種狀態(tài)變?yōu)榱硪环N狀態(tài)的邏輯,稱為一元邏輯;另外一種是兩種狀態(tài)中按照某種規(guī)則(比如比較大小)有傾向性的選擇出其中一種狀態(tài)的邏輯,稱為二元邏輯。圖1列出了定義邏輯與、邏輯或的二元邏輯運算以及定義邏輯非的一元邏輯運算。在這里,三種運算分別使用“·”“+”和“ˉ”運算符號來表示。邏輯與x?y是指x和y都為1時,結(jié)果為1的運算。邏輯或x+y是指x或y至少有一方為1時,結(jié)果為1的運算。邏輯非“x(ˉ)" 是取相反邏輯值的一元運算:如果x為0則結(jié)果為1;反之,如果x為1則結(jié)果為0。

表1 邏輯運算(布爾代數(shù)的公理)

邏輯代數(shù)滿足表2所示的定理。這里的符號“=”表示其兩邊的計算結(jié)果總是相等,即等價。如果對換邏輯表達式中的邏輯值0和1、邏輯運算“與”和“或”,對換后得到的新邏輯表達式與對換前的表達式運算順序不變,那么新邏輯表達式就稱為原邏輯表達式的對偶式。邏輯代數(shù)中,如果某定理的邏輯表達式成立,其對偶式也成立。

表2 布爾代數(shù)的定理

2.邏輯表達式

邏輯表達式是用來描述邏輯運算過程的算式,由邏輯運算符、任意數(shù)量的邏輯變量以及必要的括號和常數(shù)值0或1組合而成。對于包含n個邏輯變量X1,X2,X3…Xn的邏輯表達式來說,我們先在其各個邏輯變量內(nèi)代入邏輯值0或1,形成任意組合(共2n組),然后依照邏輯表達式的計算步驟計算這些組合,就可以得到值為0或1的計算結(jié)果。也就是說,邏輯表達式定義了具有某種邏輯功能的邏輯函數(shù)F(X1,X2,X3…Xn)。在邏輯表達式中,沒有括號的情況下,邏輯與的計算優(yōu)先于邏輯或。邏輯與的運算符“·”也可省略。

任何邏輯函數(shù)都可以由邏輯表達式來描述,而且描述同一邏輯函數(shù)的邏輯表達式可以有多個。邏輯表達式的標準形式指的是通過增加表達式形式上的限制,使得一個邏輯函數(shù)只有一個邏輯表達式與之對應的情況。邏輯表達式中,邏輯變量以原變量或反變量的形式出現(xiàn)。原變量和反變量統(tǒng)稱為字面量( literal)。字面量的邏輯與(每個字面量不能出現(xiàn)多次)叫作與項,與項的邏輯或運算叫作積之和。包含所有字面量的與項稱為最小項,由最小項構(gòu)成的積之和稱為標準積之和(標準積)。將標準積的邏輯與和邏輯或?qū)φ{(diào)即為標準和之積。字面量的邏輯或(每個字面量不能出現(xiàn)多次)叫作或項,或項的邏輯與運算叫作和之積。包含所有邏輯變量的或項稱為最大項,由最大項構(gòu)成的和之積稱為標準和之積(標準和)。

3.真值表

除了邏輯表達式,邏輯函數(shù)的描述方法還包括真值表和邏輯門。針對邏輯函數(shù)所有可能的輸入組合一一列出輸出值,我們就可以得到真值表。對于組合邏輯電路,只要列出所有可能的輸入和對應的輸出值,就可以完整地描述電路功能。因此,電路功能通常使用真值表描述。輸入的個數(shù)為n時,真值表的組合數(shù)為2n。真值表中,需要記入每組輸人值所對應的輸出值。

描述邏輯函數(shù)的邏輯表達式可以有許多個,而描述邏輯函數(shù)的真值表卻是唯一的。雖然一個邏輯表達式只描述一個邏輯函數(shù),但一個邏輯函數(shù)可以通過無數(shù)的等價邏輯表達式來描述。實現(xiàn)真值表所定義的功能的電路稱為查找表( Look-up Table, LUT), 是當前主流FPGA的基本單元。

從真值表推導邏輯表達式的形式有兩種:“積之和表達式”與“和之積表達式”。在真值表輸出為1的行中取輸人變量的與項(最小項),然后將這些最小項相或,即可得到標準積之和表達式;相對地,在真值表輸出為0的行中取輸人變量的反變量的或項(最大項),然后將這些最大項相與,即可導出標準和之積表達式。圖1中的示例展示了如何從真值表推導邏輯表達式。

圖1 真值表推導邏輯表達式示例

邏輯電路是一種離散信號的傳遞和處理,以二進制為原理、實現(xiàn)數(shù)字信號邏輯運算和操作的電路。分組合邏輯電路和時序邏輯電路。前者由最基本的“與門”電路、“或門”電路和“非門”電路組成,其輸出值僅依賴于其輸入變量的當前值,與輸入變量的過去值無關(guān)—即不具記憶和存儲功能;后者也由上述基本邏輯門電路組成,但存在反饋回路—它的輸出值不僅依賴于輸入變量的當前值,也依賴于輸入變量的過去值。

4.組合邏輯電路

邏輯電路根據(jù)是否包含記憶元件,分為組合邏輯電路和時序邏輯電路。組合邏輯電路不包含記憶元件。其時間點的輸出(邏輯函數(shù)值)僅取決于當時的輸入,而與電路以前狀態(tài)無關(guān),而與其他時間的狀態(tài)無關(guān)。組合邏輯電路允許有多個輸入/輸出,其內(nèi)部由用于計算邏輯與( AND)、邏輯或(OR)和邏輯非(NOT)等基本邏輯函數(shù)的邏輯門( gate),以及門電路間的連線組成。邏輯與、邏輯或和邏輯非3種運算相對應的邏輯門分別被稱為與門、或門和非門。此外,其他較為常見的二項運算邏輯門還有與非(NAND)門、或非(NOR)門、異或( EXOR)門等。與非門用來計算邏輯與的否定,或非門用來計算邏輯或的否定,而異或門用來計算異或邏輯。表3列出了這些邏輯門的符號(MIL符號)、真值表和邏輯表達式。我們使用“⊕”表示邏輯異或的運算符號。表中用來表示二項運算的2輸人門電路符號,也可以用于表示具有3個以上輸人的運算邏輯。目前主流的LSI技術(shù)CMOS中除了基本的與非門、或非門,還有OR-AND-NOT、AND-OR-NOT等復合門電路。

表3 邏輯門的符號、真值表、邏輯表達式

任何邏輯電路都可以由積之和表達式來描述。因此,使用NOT-AND-OR組合而成的組合邏輯電路可以實現(xiàn)任何邏輯函數(shù),這種方式被稱為AND-OR邏輯電路或AND-OR陣列。實現(xiàn)AND-OR邏輯電路的器件有PLA ( Programmable Logic Array,可編程序邏輯陣列)等。

對于一個邏輯表達公式或邏輯電路,其真值表是唯一的,但其真值表對應的邏輯電路或邏輯表達式可能有多種實現(xiàn)形式,所以,一個特定的邏輯問題,其對應的真值表是惟一的,但實現(xiàn)它的邏輯電路是多種多樣的。在實際設計工作中,如果由于某些原因無法獲得某些門電路,可以通過變換邏輯表達式變電路,從而能使用其他器件來代替該器件。同時,為了使邏輯電路的設計更簡潔,通過各方法對邏輯表達式進行化簡是必要的。組合電路可用一組邏輯表達式來描述。設計組合電路直就是實現(xiàn)邏輯表達式。要求在滿足邏輯功能和技術(shù)要求基礎上,力求使電路簡單、經(jīng)濟、可靠、實現(xiàn)組合邏輯函數(shù)的途徑是多種多樣的,可采用基本門電路,也可采用中、大規(guī)模集成電路。其一般設計步驟為:

(1) 分析設計要求,列真值表;

(2) 進行邏輯和必要變換。得出所需要的最簡邏輯表達式;

(3) 畫邏輯圖。

常用的邏輯組合電路包括,算數(shù)運算電路(半加器、全加器和加法器)、編碼器、譯碼器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、和數(shù)值比較器。

5. 時序邏輯電路

含有記憶元件的邏輯電路被稱為時序邏輯電路。在組合邏輯電路中,當前的輸出只取決于當前的輸人。而在時序邏輯電路中,只知道當前的輸人并不足以確定當前的輸出。也就是說,時序邏輯電路是一種過去的電路狀態(tài)(之前的輸入)也會對輸出產(chǎn)生影響的邏輯電路。

時序邏輯電路分為同步時序邏輯電路和異步時序邏輯電路這兩種。同步時序邏輯電路中,輸人和內(nèi)部狀態(tài)的變化由時鐘信號控制同步進行,而異步時序邏輯電路則不需要時鐘信號。由于FPGA電路設計一般使用同步時序邏輯電路,所以這里我們不對異步時序邏輯電路進行過多討論,而我們常用的時序邏輯電路主要有觸發(fā)器、計數(shù)器、寄存器和順序脈沖發(fā)生器等。

時序邏輯電路的輸出值由輸人值和記憶元件的狀態(tài)值共同決定。也就是說,時序邏輯電路中過去的輸人所形成并保留下來的狀態(tài)對當前的輸出具有影響。這種邏輯電路可描述為圖2所示的有限狀態(tài)機模型。圖2a所示的模型為米勒( Mealy )型時序邏輯電路,圖2b 所示的模型為摩爾(Moore)型時序邏輯電路。米勒模型的輸出由內(nèi)部狀態(tài)和輸人共同決定,而摩爾模型的輸出僅由內(nèi)部狀態(tài)決定。米勒模型的狀態(tài)數(shù)通常比摩爾模型的少,因此有電路規(guī)模較小的優(yōu)點。然而由于輸人會立刻反映到輸出,所以邏輯元件或不等長的布線所帶來的信號延遲等容易引起信號競爭,進而導致非預期的錯誤輸出(冒險)。相比之下,摩爾模型直接使用記憶狀態(tài)的輸出,因此電路速度快且不易發(fā)生冒險。但摩爾模型由于狀態(tài)數(shù)量多,電路規(guī)模也相對較大。

圖2 時序邏輯電路模型

責任編輯人:CC

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

    關(guān)注

    13

    文章

    491

    瀏覽量

    42503

原文標題:理解FPGA的基礎知識——邏輯電路

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    邏輯電路芯片-組合邏輯電路芯片-時序邏輯電路芯片

    邏輯電路芯片,簡而言之,是執(zhí)行邏輯運算的電子元件集合體,這些邏輯運算包括與(AND)、或(OR)、非(NOT)、與非(NAND)、或非(NOR)等基本操作。這些芯片通過集成大量的晶體管、電阻、電容等
    發(fā)表于 09-30 10:47

    時序邏輯電路有記憶功能嗎

    時序邏輯電路確實具有記憶功能 。這一特性是時序邏輯電路與組合邏輯電路的本質(zhì)區(qū)別之一。
    的頭像 發(fā)表于 08-29 10:31 ?236次閱讀

    加法器是時序邏輯電路

    加法器不是時序邏輯電路 ,而是組合邏輯電路的一種。時序邏輯電路和組合邏輯電路的主要區(qū)別在于它們?nèi)绾翁幚磔敵鲂盘枴?組合邏輯電路的輸出僅依賴于
    的頭像 發(fā)表于 08-28 11:05 ?252次閱讀

    組合邏輯電路的結(jié)構(gòu)特點是什么?

    組合邏輯電路是一種基本的數(shù)字電路,它由邏輯門組成,用于實現(xiàn)各種邏輯功能。組合邏輯電路的結(jié)構(gòu)特點主要包括以下幾個方面: 無記憶功能 :組合
    的頭像 發(fā)表于 08-11 11:14 ?573次閱讀

    時序邏輯電路包括什么器件組成

    時序邏輯電路是一種數(shù)字電路,它根據(jù)輸入信號和電路內(nèi)部狀態(tài)的變化產(chǎn)生輸出信號。時序邏輯電路廣泛應用于計算機、通信、控制等領(lǐng)域。 一、時序邏輯電路
    的頭像 發(fā)表于 07-30 15:02 ?417次閱讀

    邏輯電路與時序邏輯電路的區(qū)別

    在數(shù)字電子學中,邏輯電路和時序邏輯電路是兩種基本的電路類型。它們在處理數(shù)字信號和實現(xiàn)數(shù)字系統(tǒng)時起著關(guān)鍵作用。邏輯電路主要用于實現(xiàn)基本的邏輯
    的頭像 發(fā)表于 07-30 15:00 ?431次閱讀

    常用的組合邏輯電路有哪些

    組合邏輯電路是數(shù)字邏輯電路的一種,其特點是輸出只依賴于當前的輸入狀態(tài),而與輸入信號的變化歷史無關(guān)。組合邏輯電路廣泛應用于數(shù)字系統(tǒng)中,如計算機、通信設備、控制設備等。以下是對常用的組合邏輯電路
    的頭像 發(fā)表于 07-30 14:41 ?673次閱讀

    分析組合邏輯電路的設計步驟

    組合邏輯電路是數(shù)字電路中的一種基本類型,它由邏輯門組成,根據(jù)輸入信號的組合產(chǎn)生相應的輸出信號。組合邏輯電路廣泛應用于計算機、通信、控制等領(lǐng)域。設計組合
    的頭像 發(fā)表于 07-30 14:39 ?329次閱讀

    組合邏輯電路邏輯功能的測試方法

    一、引言 組合邏輯電路是數(shù)字電路中的重要組成部分,它僅由邏輯電路(如與門、或門、非門等)和輸入/輸出端組成,不包含任何存儲元件。組合邏輯電路
    的頭像 發(fā)表于 07-30 14:38 ?434次閱讀

    邏輯電路有哪些應用領(lǐng)域呢?

    在數(shù)字世界中,邏輯電路是實現(xiàn)數(shù)據(jù)處理、傳輸和控制的核心組件。它們通過邏輯門和觸發(fā)器等元件,實現(xiàn)了各種復雜數(shù)字電路的設計。本文將為您介紹邏輯電路的應用領(lǐng)域,幫助您更好地了解這個不可或缺的
    的頭像 發(fā)表于 05-24 15:54 ?1068次閱讀

    什么是組合邏輯電路和時序邏輯電路?它們之間的區(qū)別是什么

    什么是組合邏輯電路和時序邏輯電路?時序邏輯電路和組合邏輯電路的區(qū)別是什么? 組合邏輯電路和時序邏輯電路
    的頭像 發(fā)表于 03-26 16:12 ?2837次閱讀

    時序邏輯電路輸出與什么有關(guān) 時序邏輯電路由哪兩部分組成

    時序邏輯電路的輸出與輸入信號以及內(nèi)部存儲器狀態(tài)有關(guān)。時序邏輯電路是一類特殊的數(shù)字電路,其輸出信號的值不僅取決于當前的輸入信號,還取決于過去的輸入信號以及內(nèi)部存儲器的狀態(tài)。 時序邏輯電路
    的頭像 發(fā)表于 02-06 14:30 ?2318次閱讀

    時序邏輯電路有哪些 時序邏輯電路和組合邏輯電路區(qū)別

    時序邏輯電路是一種能夠存儲信息并根據(jù)時鐘信號按照特定順序執(zhí)行操作的電路。它是計算機硬件中非常重要的一部分,用于實現(xiàn)存儲器、時序控制器等功能。與之相對的是組合邏輯電路,它根據(jù)輸入信號的組合情況,立即
    的頭像 發(fā)表于 02-06 11:18 ?8409次閱讀

    常用的組合邏輯電路

    組合邏輯電路和時序邏輯電路是數(shù)字電路中兩種重要的邏輯電路類型,它們主要區(qū)別在于其輸出信號的依賴關(guān)系和對時間的敏感性。
    的頭像 發(fā)表于 02-04 16:00 ?3590次閱讀

    組合邏輯電路之與或邏輯

    邏輯電路由多個邏輯門組成且不含存儲電路,對于給定的輸入變量組合將產(chǎn)生確定的輸出,則這種邏輯電路稱為組合邏輯電路。
    的頭像 發(fā)表于 02-04 11:46 ?1362次閱讀
    組合<b class='flag-5'>邏輯電路</b>之與或<b class='flag-5'>邏輯</b>