除法器設計電路連接 |
送交者: 粱遠聲 2010年11月14日17:04:18 於 [靈機一動] 發送悄悄話 |
有一個芯片能做8位除以4位的計算(無符號)。請利用上8位除以4位
這個結果(商和餘數)完成16位除以8位的計算(無符號)。寫出算法即可。 解: 器件列表: (1) 商寄存器。一個16位的寄存器。 (2) 商加法器。一個16位的加法器,兩組輸入,加數,被加數。還有一個加減控 制位S,為0時做加法,為1時做減法。當加法器的輸入懸空時,加法器把它理 解成邏輯0。 (3) 餘數寄存器。一個17位的寄存器。最高位為符號位。 (4) 餘數加法器。一個16位的加法器,4組輸入,加數0,加數1,加數2,加數3。 每組16位。每個加數都有一個加減控制位,分別是S0,S1,S2,S3。控制位 為0時做加法,為1時做減法。當加法器的輸入懸空時,加法器把它理解成邏 輯0。 (5) 幅值轉換器。一組16位的數據輸入,一位符號輸入。一組16位的輸出。當符 號位=0時,輸出=輸入。當符號位=1時,輸出=輸入的2補碼。 (6) 除法器。被除數8位,除數4位,商8位,餘數4位 (7) 乘法器。被乘數8位,乘數4位,積12位,餘數4位 (8) 一個8位的2傳1多路傳輸器。選擇線為0時,第0組(8位)輸入被傳到輸出端。 選擇線為1時,第1組(8位)輸入被傳到輸出端。 (9) 三個8位的1傳2譯碼器。選擇線為0時,輸入(8位)被傳到第0組輸出端。選擇 線為1時,輸入(8位)被傳到第1組輸出端。 一個4位的1傳2譯碼器。選擇線為0時,輸入(4位)被傳到第0組輸出端。選擇 線為1時,輸入(4位)被傳到第1組輸出端。 (10) 一個12位的1傳2譯碼器。選擇線為0時,輸入(12位)被傳到第0組輸出端。選擇 線為1時,輸入(12位)被傳到第1組輸出端。 (11) 一個4位輸入的或門,其輸出為W。 (12)除數寄存器。一個8位的寄存器。 接法: 餘數寄存器輸出低16位接對應幅值轉換器的數據輸入16位。餘數寄存器的最高位 接幅值轉換器的符號位。幅值轉換器高4位接或門的4個輸入。 餘數加法器的輸出16位接餘數寄存器輸入低16位。餘數加法器的進位位接餘數寄存 器輸入最高位(第16位)。餘數寄存器輸出16位接餘數加法器的加數0,S0=0。 2傳1多路傳輸器的第1組(8位)輸入接到幅值轉換器輸出的高8位。2傳1多路傳輸器 的第0組(8位)輸入接到幅值轉換器輸出的中8位(第11位,第10位,... ,第4位) 2傳1多路傳輸器的選擇線接或門輸出。 2傳1多路傳輸器的輸出(8位)接被除數1傳2譯碼器輸入(8位)。被除數譯碼器的 第1組輸出接餘數加法器加數1的高8位,第0組輸出接餘數加法器加數1的中8位, 餘數寄存器的最高位經過非門接S1。或門輸出接被除數譯碼器的選擇線。 2傳1多路傳輸器的輸出(8位)接除法器被除數(8位)。除數寄存器的高4位接除法 器的除數(4位)。除法器的商(8位)接商1傳2譯碼器輸入(8位)。商譯碼器的 第1組輸出接商加法器加數的中8位,第0組輸出接商加法器加數的低8位。 餘數寄存器的最高位接商加法器的加數控制位。或門輸出接商譯碼器的選擇線。 商加法器的輸出(16位)接商寄存器的輸入(16位)。商寄存器的輸出(16位)接商 加法器的被加數(16位)。 除法器餘數(4位)接餘數1傳2譯碼器輸入(4位)。餘數譯碼器第1組輸出接餘數加法 器加數2的第11位,第10位,... ,第8位。第0組輸出接餘數加法器加數2的第7位, 第6位,... ,第4位。餘數寄存器的最高位接S2。或門輸出W接被除數譯碼器的選 擇線。 除法器的商(8位)接乘法器被乘數(8位)。除數寄存器的低4位接乘法器乘數(4位)。 乘法器的積(12位)接補償1傳2譯碼器輸入(12位)。補償譯碼器第1組輸出接餘數 加法器加數3的高12位,第0組輸出接餘數加法器加數3的低12位。餘數寄存器的 最高位經過非門接S3。 停機邏輯: 幅值轉換器輸出低16位小於除數時停機。 |
|
|
|
實用資訊 | |