FPGA-05-近日工作總結
工作概述:
1)看《電子技術基礎》和《fpga數字邏輯設計》學習數位電路的組合邏輯部分,卡諾圖的化簡和降維法。
2)複習加法器,全加器,譯碼器,編碼器,資料選擇器,數值比較器,鞏固這些組合邏輯的工作原理以及用verilog在ISE的實現。
3)看《verilog基本語法》學習和鞏固verilog的基本語法。
1.摘抄:
組合電路某一時刻的輸出僅與該時刻的輸入有關,而與電路前一時刻的狀態無關。
組合電路的特點
1) 電路由邏輯閘構成,不含記憶元件
2) 輸出與輸入間無反饋延遲迴路
3) 輸出與電路原來狀態無關
當一邏輯閘的兩個輸入端同時向著相反方向變化,而變化的時間有差異。這種現象稱作競爭。由於競爭產生的輸出干擾脈衝的現象稱作為冒險。
-《電子技術基礎》和數電ppt
1.理解:
數位電路根據邏輯功能的不同特點,可以分成兩大類,一類叫組合邏輯電路(簡稱組合電路),另一類叫做時序邏輯電路(簡稱時序電路)。
組合邏輯電路在邏輯功能上的特點是任意時刻的輸出僅僅取決於該時刻的輸入,與電路原來的狀態無關。
時序邏輯電路在邏輯功能上的特點是任意時刻的輸出不僅取決於當時的輸入訊號,而且還取決於電路原來的狀態,或者說,還與以前的輸入有關。
邏輯電路的設計的基本思路:
1)分析實際問題的實際功能
2)根據實際需要寫出真值表
3)根據真值表來寫出邏輯表示式
4)根據卡諾圖來化簡表示式來避免產生競爭冒險
2.摘抄:
如何理解這裡說的冒險與競爭?
首先來說產生冒險與競爭的原因:當我們在數字邏輯電路中,我們認為電路的輸入輸出都是平穩的邏輯電平,但是訊號在實際的傳遞中,經過邏輯電路需要一定的時間。或者因為門的延時的差異,將會出現和穩態情況不同的狀態,產生輸出錯誤,這就叫電路中的競爭冒險。
--《電子技術基礎》
2.理解:
冒險不一定會對實際的輸出邏輯有影響,但是為了避免冒險競爭的情況出對死實際電路中的輸入輸出產生影響,應該儘量避免這樣的情況出現。在邏輯設計時候,在PC端進行模擬模擬時體現不出來他的作用,但是在實際工作操作中,這個是不可忽略的。
那麼就總結一下消除競爭冒險的方法:
1)發現並消去互補相乘項。
2)增加乘積項避免互補項相加。
3)輸出端並聯電容器。
3.摘抄:
正因為組合邏輯和時序邏輯的邏輯上的功能特點所以組合邏輯電路使用阻塞賦值,時序邏輯電路使用非阻塞賦值。
什麼是阻塞賦值和非阻塞賦值
阻塞賦值操作符用等號(即 = )表示。“阻塞”是指在程序語句(initial和always)中,當前的賦值語句阻斷了其後的語句,也就是說後面的語句必須等到當前的賦值語句執行完畢才能執行。
非阻塞賦值操作符用小於等於號 (即 <= )表示。“非阻塞”是指在程序語句(initial和always)中,當前的賦值語句不會阻斷其後的語句,可以簡單理解為幾條非阻塞賦值語句可以同時執行。
非阻塞賦值操作過程:
1)在賦值開始時刻,計算非阻塞賦值右邊表示式。
2)在賦值結束時刻,更新非阻塞賦值左邊表示式。
-《verilog基本語法》
3.理解:
EG:如果a=3 b=8;a=b,c=a;
- 如果阻塞賦值第一條執行的時候a的值立刻變為了a=8;執行第二條的時候c=8;
- 如果是非阻塞賦值的方式根據非阻塞賦值的操作過程:計算開始計算出右邊的值分別為8 3,第二步重新整理左邊表示式的值則a=8 c=3;
4.摘抄:
Memory型變數
儘管memory型資料和reg型資料的定義格式很相似,但是要注意不同之處。Memory描繪的是深度,reg描繪的是寬度。
Reg [ n-1:0 ] rega; //一個n位暫存器
Reg mema [ n-1 ] //一個由n個一位暫存器組成的儲存器組
一個n位的暫存器可以在一條賦值語句裡進行賦值。而一個完整的儲存器不行
Rega = 0;//合法的賦值語句
Mema=0;//非法的賦值語句
Mema[3]=0;//合法,給memory中的第三個單元賦值為0