国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

FPGA入門:表面現象揭秘——邏輯關系

發布時間:2015-1-22 11:27    發布者:rousong1989
FPGA入門:表面現象揭秘——邏輯關系
本文節選自特權同學的圖書《FPGA/CPLD邊練邊學——快速入門Verilog/VHDL
書中代碼請訪問網盤:http://pan.baidu.com/s/1bndF0bt
         神奇的0和1,緣何能夠如此的變化多端?從某種意義上看,無非就是數字本身固有的各種各樣的邏輯關系在使然。在今天的數字系統中,雖然可能整個系統的不同芯片或相同芯片的不同模塊之間供給電壓不盡相同,有5V/3.3V/2.5V/1.8V/1.2V等等,但是從基本原理上看,無論用什么電壓值代表1(通常都一致的用0V表示0),其內部邏輯運算原理都是一致的。
         0和1,他們的最基本邏輯運算是通過非門、與門和或門來實現的。非門的符號和真值表如圖3.5所示。輸入x經過非門后,輸出z為x的取值反向,如輸入x=0則z=1,反之,輸入x=1則z=0。
圖3.6 與門符號和真值表
         或門的符號和真值表如圖3.7所示。輸入x和y進行或運算后得到結果z。或運算的原則就是“遇1則1,全0則0”。
圖3.7 或門符號和真值表
         在與、或、非這三種最基本的邏輯門基礎上進行一些擴展,就產生了一些常見的邏輯門如與非門、或非門、異或門、同或門,其符號和真值表分別如圖3.8、圖3.9、圖3.10和圖3.11所示。
圖3.11 同或門符號和真值表
         有了這些基本的門電路,可能有些人還是不理解,到底這些門電路能夠干什么,只是做做簡單的邏輯關系處理?非也,數字電路中的邏輯門其實就如同數學運算中的1+1=2和2-1=1這樣簡單卻又非常基礎的關系。數字電路的邏輯門說白了也是為數學運算服務的,人類運算的基礎——加、減、乘、除都可以用邏輯門來完成,更高級一些的運算如開方、求根號等,一樣可以通過一些巧妙的邏輯門處理算法解決。人類不是有一套十進制的運算方式了,那又為什么一定要通過邏輯門以二級制的方式來完成這類運算呢?究其根本原因,是因為二進制的處理機制是數字電路(或者更大一點說,也是計算機技術)的基礎,而基本的邏輯門運算又非常適合于二進制的運算。再往后,如果讀者有機會更深入到電子或計算機相關的應用中,回頭再望望今天所說的這些基本邏輯門電路,一定會驚嘆那些計算機前輩們的智慧。可不是,話說能夠用最簡單的東西實現最復雜的事物那才是人類創造的最高水平。
         下面列舉一個最簡單的1位加法器的例子,如圖3.12所示,x和y相加,其結果為z,進位為c。我們觀察其真值表發現:z = x^y,c = x&y。果然,1位加法非常輕易的用兩個邏輯門電路實現了。
圖3.12 1位加法器
         若是再深入,2位、3位甚至更多位的加法運算,對于每個位的結果和進位,都可以仿照1位加法器的方式來實現。由此可見,邏輯門還真是那么回事。
         接下來,我們要用這些基本的邏輯門搭個復雜點的電路。這個電路如圖3.13所示,這是邊沿觸發的D觸發器電路。該觸發器的功能是實現時鐘信號clk上升沿(由0變化到1)時將輸入信號D的值鎖存到輸出信號q。
圖3.13 邊沿觸發的D觸發器電路
         該D觸發器的真值表如表3.1所示。由此表不難看出,這個D觸發器實現了clk信號的上升沿鎖存當前輸入D信號值到輸出信號q或~q的功能,而當clk信號為0或者保持高電平期間,D信號的取值變化不會影響當前的輸出q和~q。
表3.1 D觸發器真值表
  
D
  
clk
f3
f4
f5
f6
f1
f2
q
~q
0
0
0
1
1
1
-
-
-
-
1
0
1
1
1
0
-
-
-
-
0
0
1
1
1
-
-
-
-
0
1
1
1
0
-
-
-
-
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
-
-
-
-
1
1
0
1
1
-
-
-
-
0
0
1
1
1
-
-
-
-
1
1
1
1
0
-
-
-
-
         由此可見,D觸發器可用于存儲比特信號,當D輸入為0時,在時鐘clk的上升沿,q輸出也為0;當D輸入為1時,在時鐘clk的上升沿,q輸出也為1;在其他的時刻,q輸出保持不變。在實際電路中,時鐘信號clk源源不斷的有標準的方波輸入,每個時鐘信號clk的上升沿都會使得D觸發器的輸入D值被鎖存到輸出q值中。其實這個D觸發器就是我們最基本的寄存器的雛形了,在時序電路中,寄存器和時鐘是最基本的要素。
         如圖3.14所示,這是一個帶有異步置位和復位功能的D觸發器。所謂置位,即set信號有效時(即為1時),該電路無論時鐘clk和輸入D值的狀態如何,輸出q一定是1;同理,所謂復位,即指clr信號有效時(即為1時),該電路無論時鐘clk和輸入D值的狀態如何,輸出q一定是0。有了set和clr信號,我們可以在任何時刻得到需要的輸出q信號值,當然了,一般只有在系統上電初始或者出現異常后才會執行這樣的操作。
圖3.14 帶異步置位和復位的D觸發器
         如圖3.15所示,通常我們可以用一個簡化的模型符號來表示帶有異步置位和復位功能的邊沿觸發的D觸發器,通常我們也可以直接稱它為寄存器。可別小瞧了它,在后面的應用中我們會逐漸感受到它的神通廣大。
圖3.15 D觸發器模型符號
         數字電路按照邏輯功能一般可以分為組合邏輯和時序邏輯。組合邏輯不含有任何用于存儲比特信號的電路,它的輸出只和當前電路的輸入有關,如前面(圖3.12)所列舉的加法器的電路。時序邏輯可以含有組合邏輯,并且一定有用于存儲比特信號的電路(一般為寄存器),時序邏輯的輸出值不僅和當前輸入值有關,一般也和電路的原有狀態相關。
         如圖3.16所示,同樣是簡單的與非門電路,左側為組合邏輯,右側則為時序邏輯。
圖3.16 組合邏輯與時序邏輯電路
         如圖3.17所示,以上面的組合邏輯和時序邏輯電路為例,輸入信號x和y為隨機信號,組合邏輯的輸出信號z1在輸入x和y發生變化并滿足邏輯變化條件時立刻發生變化,當然了,這個變化在實際電路中也有一定的延時。而在時序邏輯中,該實例除了組合邏輯滿足條件外,只有在時鐘信號clk的每個上升沿輸出z2才會發生變化。這里有一個細節大家也需要注意,x和y的組合邏輯輸出值在時鐘上升沿到來的前后的某段時間內(即建立時間和保持時間)必須是穩定的,否則有可能鎖存到不穩定的值(即亞穩態)。
圖3.17 波形輸入與輸出示例
         通過這個簡單的例子,我們大致可以了解組合邏輯和時序邏輯的特點。一般而言,他們存在以下的區別:
●  組合邏輯的輸出與輸入直接相關,時序邏輯的輸出和原有狀態也有關。
●  組合邏輯立即反應當前輸入狀態,時序邏輯還必須在時鐘上升沿觸發后輸出新值。
●  組合邏輯容易出現競爭、冒險現象,時序邏輯一般不會出現。
●  組合邏輯的時序較難保證,時序邏輯更容易達到時序收斂。
●  組合邏輯只適合簡單的電路,時序邏輯能夠勝任大規模的邏輯電路。
在今天的數字系統應用中,純粹用組合邏輯來實現一個復雜功能的應用幾乎絕跡了。時序邏輯在時鐘驅動下,能夠按部就班的完成各種復雜的任務,也能夠非常便利的達到時序要求,并且能夠解決各種異步處理帶來的亞穩態問題。因此,時序邏輯設計的一些方法和手段是大家必須掌握和熟練應用的。
本文節選自特權同學的圖書《FPGA/CPLD邊練邊學——快速入門Verilog/VHDL
書中代碼請訪問網盤:http://pan.baidu.com/s/1bndF0bt

本文地址:http://m.4huy16.com/thread-144935-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • 常見深度學習模型介紹及應用培訓教程
  • 電動兩輪車設計生態系統
  • Microchip第22屆中國技術精英年會——采訪篇
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表