目錄git
a)17異步
b)-17函數
a: 對17展轉相除,獲得其二進制爲010001,八進制爲21,十六進制爲0x11。注意二進制必須是010001,而不是10001,不能缺乏符號位ui
b: 根據17的二進制,-17的二進制數原碼位110001,取反加一獲得補碼爲101111,所以八進制爲57,十六進制爲0x2f編碼
二進制轉八進制,取三合一,二進制轉十六進制,取四合一3d
ans=3*16^1+10*16^0=58code
格雷碼是一種二值編碼,相鄰的編碼之間只有一位的區別。所以與普通二進制碼相比,在遞增時出錯機率更加小。下表是3bit的格雷碼編碼:blog
十進制 | 二進制 | 格雷碼 |
---|---|---|
0 | 000 | 000 |
1 | 001 | 001 |
2 | 010 | 011 |
3 | 011 | 010 |
4 | 100 | 110 |
5 | 101 | 111 |
6 | 110 | 101 |
7 | 111 | 100 |
此外,因爲格雷碼中比特位變化比較少,與二進制碼相比,使用格雷碼的功耗更加低遞歸
奇偶校驗位是在一串二進制碼的最後添加的一位,它使得整個二進制串的1的個數爲奇數或者偶數。所以奇偶校驗分爲兩種,奇校驗和偶校驗。ip
計算校驗位須要對二進制碼中的1進行計數。若是1的數量爲奇數,而且使用偶校驗,則校驗位爲1,使得總體1的個數爲偶數。若是1的數量爲偶數,而且使用偶校驗,則校驗位爲0,使得總體1的個數爲偶數。奇校驗相似。奇偶校驗位能夠經過對全部的比特位進行異或獲得。
111001中1的個數爲4個,因此校驗位爲1,帶上校驗位之後爲1110011,1的個數爲5,爲奇數
BCD碼也稱二進碼十進數,BCD碼可分爲有權碼和無權碼兩類。其中,常見的有權BCD碼有8421碼、2421碼、5421碼,無權BCD碼有餘3碼、餘3循環碼、格雷碼。8421BCD碼是最基本和最經常使用的BCD碼,它和四位天然二進制碼類似,各位的權值爲八、四、二、1,故稱爲有權BCD碼。
2的二進制位0010,7的二進制位0111,十進制27的8421BCD碼爲,00100111,二進制碼爲11011
通用門是能夠實現任何布爾函數而無需使用任何其餘門類型的門。 與非門或非門是通用門。
與門:
或門:
非門:
與門:
或門:
非門:
非門:
與門:
或門:
或非門:用或門和非門組成
與非門:用與門和非門組成
異或門:
一般被用於錯誤檢測,例如,奇偶校驗,CRC校驗,ECC。異或門也能夠用於僞隨機數生成。
全部輸入都爲1
環形振盪器能夠由奇數個非門組成,非門或者反相器鏈接成鏈後,最後一個輸出反饋回第一個反相器。
三個反相器,信號須要通過兩次反饋,即2*3個反相器,振盪頻率爲1/(6*2ps) = 1000/12 GHz = 83.33 GHz
時序電路分爲兩種,同步時序電路和異步時序電路
同步時序電路在適中的上升沿或者降低沿改變狀態和輸出值。常見的例子是flip-flop,在時鐘邊沿根據輸入改變輸出。
異步時序電路的狀態和輸出值是根據使能信號進行控制,這更加相似於一個帶有反饋的組合邏輯。
創建時間是在時鐘進行有效轉換前數據信號應該保持穩定的最短期。
保持時間是在時鐘進行有效轉換後數據信號應該保持穩定的最短期。
時鐘信號到達兩個FF的時間差稱之爲clock skew(時鐘偏斜)
例如圖中兩個FF的時鐘,雖然是同一個時鐘源,可是因爲走線的延遲,致使a的時鐘比b的快。
創建時間約束爲 $t_{clk-q}+t_{plogic}+t_{setup}<=T$ ,即 $T>=25ns$ ,最大工做頻率爲40Mhz
觸發器和鎖存器都是存儲信息的基本單元。一個觸發器或者鎖存器可以存儲一bit的信息。二者的主要不一樣點是,觸發器只在時鐘上升沿或者降低沿根據採樣改變輸出,而鎖存器在enable信號拉高期間都會跟隨輸入。
當輸出取決於不一樣信號的順序或者時序時,被稱爲競爭。競爭能夠分爲兩種
實際硬件中的競爭:以SR鎖存器爲例,當SR都是1的時候,輸出爲1,此時若是SR同時變成0,那麼Q和Q'就會進入競爭的狀況。能夠經過添加合適的邏輯避免。
仿真行爲中的競爭:例以下面的代碼
always @(posedge clk or posedge reset) if (reset) X1 = 0; // reset else X1 = X2; always @(posedge clk or posedge reset) if (reset) X2 = 1; // reset else X2 = X1;
因爲使用了阻塞賦值,便會發生競爭的狀況,經過改成非阻塞賦值能夠解決
T觸發器,T爲0時輸出不變,1時翻轉。寫出真值表就能看出來,將輸入和Q異或再輸入到D端。
J=D,K=D'
行波進位加法器:
結構相似於咱們拿筆在紙上作加法的方法。從最低位開始作加法,將進位結果送到下一級作和。因爲本級的求和須要等待前一級的進位結果才能夠獲得,因此對於兩個N-bit的求和。即便有N個一位的全加器,也須要N個延遲。
超前進位加法器:
事實上,在如下兩種狀況中,Ci=1:
其對應的表達式爲
遞歸後
能夠看出每一級的進位信號能夠不經過上一級的結果產生,只與輸入有關係。所以減小了時間。
一個FF存儲一bit信息,所以須要32個FF。
mealy型FSM的輸出和當前的狀態以及當前的輸入有關係。
moore型FSM的輸出只和當前的狀態有關係。
2^3 < 9 < 2^4,所以是4個
二分頻:
四分頻: