1 前言
設計研究適用于國防和民用需求的高性能、高精度的微處理器(MPU),已經變得十分重要和迫切。為了處理大量實數數據,并考慮計算精度和實時性,需要將MPU單獨分離出來一部分進行浮點運算,像現在的高檔數字信號處理芯片(DSP)都含有一個FPU,所以研制高性能的浮點運算單元IP具有重要意義[1]。
微程序的概念和原理是由劍橋大學數學教研室教授M.V.Wilks在1951年第一次提出的[2],但隨后15年,由于控制存儲器的問題制約了微程序技術的發展。由于LSI和VLSI 控制存儲器的發展,微程序在微型機中已經開始起著重要作用。
微程序控制器的性能是提高處理速度的關鍵因素之一。本論文關于微程序控制器的研究是基于哈爾濱工業大學(威海)微電子中心32位FPU的設計,其采用了微指令控制的方法,用門級完成相關模塊的設計,通過布局布線后的結果看出,該設計規模小、速度高,非常適合嵌入式應用。
2 微程序控制器的結構及設計
在微處理器中產生控制信號一般由微程序和狀態機兩種方法實現,其中微程序屬于固件。微程序控制器輸出的微指令用來控制整個FPU工作[3]。一條微程序一般由操作控制和順序控制兩大部分組成。控制部分用來管理和指揮FPU的工作[4]。微程序的順序控制部分用來決定產生下一條微指令的地址。微程序控制器有其自身的優點,比如:具有規整性、靈活性和可維護性等一系列優點。本設計的微程序控制器的結構如圖1所示。
微程序控制器主要包括三部分,用于產生下一條微指令的微地址生成模塊、用于存儲微指令的存儲器(此為一塊Rom)和用于指揮FPU工作的控制總線,其中主要是前兩部分,下面分別給與介紹:
2.1 微地址生成模塊介紹
微地址生成模塊主要目的就是產生下一條微指令的地址。地址線寬為8bit,下一條微地址由如下幾條產生(如圖2所示):
1.ExcMiptr信號是用來選擇由于一條FPU指令執行過程中產生各種異常(包括結果不精確異常、上溢、下溢和無效異常)對應的異常操作與控制的入口地址。
2.nextMiptr信號是用于選擇一條FPU指令執行過程正常情況下,產生下一條微指令的地址。
3. RomEntry信號是用于根據FPU指令選擇不同指令的入口地址,本設計把單精度和雙精度的加、減、乘、除、乘加等指令設計有不同的控制入口地址。
4.RomMiptr信號是微地址默認的停靠地址,即在復位和FPU空閑時輸出的默認地址
5.feedback信號是用于選擇用于跳轉微指令地址,例如在本設計中用于乘加、乘減指令的跳轉控制。
如上這些地址信號的控制都來源于微指令的控制位。其中是否產生分支的控制如圖3所示。
圖3 微指令分支控制信號生成圖
2.2微指令存儲模塊
本微指令控制器的存儲模塊,有8bit地址輸入和64位數據輸出用于管理和控制整個FPU工作。64位微指令是控制整個系統所用的控制信號,其功能與狀態機相似,在本設計中通過微指令的[15:11]檢測到數據處理過程中可能出現的狀態,再根據不同的狀態進行狀態轉換。下面把其中主要的幾位列表如表1:
表1 微指令控制位
3.模塊的實現及驗證
微程序模塊采用了從頂到下的(Top-down)設計方法,所有部件按照模塊化思想設計成IP(Intellectual Property),明確模塊間的接口信號時序,同時模塊里的邏輯控制都是用門級設計,從而優化設計的性能。使用Synopsys公司的Design Compiler作為綜合工具,用SMIC0.18微米工藝,綜合出來的結果時鐘頻率266MHz。
系統采用硬件描述語言Verilog作為工作語言,使用Modelsim SE6.2完成整個仿真過程,仿真結果都完全符合IEEE754標準要求[5],能實現單精度和雙精度的控制。完成后仿真并通過FPGA驗證,這為將來流片打下了堅實的基礎。
一般來講,設計驗證方法包括兩大類:模擬的方法和形式化的方法。本設計采用模擬的方法。模擬驗證環境如圖3所示,運用基于斷言的驗證方法,主要分為三大部分:激勵部分、待測模塊和驗證比較模塊。
圖3 模擬驗證環境
一般情況下,激勵的生成方法有兩種:一類是直接激勵生成;一類是隨機激勵生成。本設計兩種方法都使用了,對于正常的加減乘除等運算采用了隨機生成激勵(約束性隨機),而對于其他邊角情況使用了直接激勵,特別各種異常情況。輔助模塊包括指數運算模塊、尾數運算模塊和符號運算模塊。比較結果輸出模塊包括運用設計規范指定的結果與驗證模塊輸出的結果進行比較。
4.結論
32位FPU中微程序控制器的設計經仿真驗證證明它的功能是完全能滿足IEEE754標準的FPU的控制功能。在設計中采用了多入口地址等提高微程序控制能力的方法。為了提高電路性能,使用門級設計方法。通過布局布線后的結果看出,該設計規模小、速度高,非常適合嵌入式應用。此微程序控制器可以在所有滿足IEEE754標準的浮點處理器中使用,提高了設計的效率和可靠性,加快了設計周期。
本文作者的創新點:采用微程序控制的設計方法,同時采用門級設計方法,所以規模小,速度快。通過Modelsim仿真,完全滿足符合IEEE754標準的浮點處理器的應用。
參考文獻
[1]李六杏,周國祥.一種用于SOC中快速乘法器的設計[J].微計算機信息,2007,23,4-2:155-157.
[2]楊波,高德遠. 微程序控制器的設計與實現[J],計算機工程與應用,2001,7:27-29.
[3]Intel: intel82C288 Series Reference [M]. 1984.50-61.
[4]David A.Patterson, John L. Hennessy, Computer Organazaiton & Design[M], Morgan KauFMann Publishers, inc,2002 316-324
[5] ANSI/IEEE Standard 754-1985: IEEE Standard for Binary Floating-Point ArithmetIC[M]. Poscataway, NJ: IEEE Press, 1985.
上一篇:VDK與嵌入式文件系統的投入使用
下一篇:單片機開發板的發展及種類的簡單介紹
推薦閱讀
史海拾趣
在刻蝕設備領域取得成功后,中微并沒有滿足于現狀,而是積極拓展多領域,實現業務多元化。2012年,公司完成了首臺MOCVD設備的研制,成功進入薄膜沉積領域。2016年,公司又完成了首臺ICP刻蝕設備的研制,進一步鞏固了在刻蝕設備領域的領先地位。此外,公司還在環保領域有所布局,成功研制出首臺VOC設備。這些舉措不僅豐富了公司的產品線,也為公司帶來了更多的市場機遇。
為了更好地服務全球客戶,DURAKOOL公司加強了全球化布局,在多個國家和地區設立了生產基地和研發中心。同時,公司也積極尋求與全球知名企業的合作,如與杜邦公司等建立了良好的合作關系,共同推動電子行業的發展。
1997年,迪貝電子在上海正式成立,標志著這家專注于環境感知技術和氣體檢測及分析領域的創新企業正式進入中國市場。當時,中國的環保法規日益嚴格,對氣體排放的監控和管理要求也不斷提高。迪貝電子憑借其在該領域的深厚積累和技術實力,迅速在市場上推出了一系列高質量的氣體檢測和分析儀器。這些產品以其準確性、穩定性和易用性受到了用戶的廣泛好評,為迪貝電子在中國市場的快速發展奠定了堅實的基礎。
CEVA公司在超低功耗技術方面取得了顯著突破。公司開發的超低功耗IP包括由專用DSP與AI和其他類型的加速器組成的綜合平臺。這些加速器針對低功耗工作負載進行了優化,包括5G基帶處理、智能視覺、語音識別、物理層處理和傳感器融合等。這些技術的突破使得CEVA的產品在保持高性能的同時,能夠大幅度降低功耗,滿足了市場對節能設備的需求。
隨著萬物互聯時代的到來,CEVA公司迎來了新的發展機遇。Wi-Fi 6、Wi-Fi 7、5G-Advanced和蜂窩式物聯網等技術的快速發展,推動了客戶對新建置芯片和解決方案的需求。CEVA憑借其在無線連接和智能傳感技術領域的領先地位,能夠為客戶提供全面的解決方案,滿足這些技術在多個終端市場帶來的巨大商機。同時,CEVA也是唯一能夠提供藍牙加上Wi-Fi或UWB加上藍牙等組合解決方案的授權許可商,這一優勢使得CEVA在全球半導體產業中占據了重要地位。
以上是基于公開資料對CEVA, Inc.在電子行業中的幾個重要發展節點的概述。這些故事展示了CEVA如何在技術創新、市場布局和應對挑戰等方面取得了顯著成就,為公司的持續發展奠定了堅實基礎。然而,由于電子行業的快速發展和不斷變化的市場環境,CEVA的未來仍充滿挑戰和機遇。
進入21世紀后,數字視頻應用的興起為Exar提供了新的發展機遇。為了抓住這一機遇,公司在2000年推出了視頻處理器和編解碼器產品。這些產品不僅滿足了市場對高質量視頻處理的需求,也進一步鞏固了Exar在通信和視頻處理領域的地位。
DM642現在停工了,一個是公司也沒有這方面的打算,第二是響應的人不多,第三就是花費比較大。做板還是小事,焊接也是自己不能做。如果就是我一個人用,還不如買個來得輕松了。 至于為啥做個6720的板子,第一個是它做板簡單,另一個就是我還沒有, ...… 查看全部問答∨ |
|
nandflash 的ECC校驗是怎么實現的? 在寫的時候產生ECC校驗碼, 在讀的時候也產生ECC校驗碼, (硬件,與軟件 的實現) ---------------- … 查看全部問答∨ |
已在ce5上成功寫了usb. iic. spi.鍵盤驅動. 覺得可以常識著寫WiFi無線網卡/藍牙驅動. 能否推薦一款資料比較多的WiFi無線網卡/藍牙模塊? 如果有開源資料更好.… 查看全部問答∨ |
我用的是 nios ii eclipse 怎么找不到系統庫的屬性啊 緊急求救啊 我用的是 nios ii eclipse ,右擊工程文件夾,沒有System Library Properties這一項啊?麻煩各位啦 就是找不到系統庫屬性這一項,因此很多設置都找不到啊 糾結啊… 查看全部問答∨ |
|
焊上晶振之后,下載Verify_Cristal的程序,紅燈慢慢的閃,應該是成功了。 但是每當我將手指放在上晶振的時候,紅燈就狂閃,說明不成功! 還有,如果將晶振的外殼靠在接地的焊盤上,燈就狂閃,也說明不成功,那個焊盤不就是固定晶振用的嗎?這樣晶 ...… 查看全部問答∨ |
我用的28035的標準的SCI進行數據的收發,為什么只能接收一個字節,當發送多個字節時候接收到的只是最后的一個,比如發送1234接收到的是4444,(接收用的是中斷,發送用查詢法)程序如下:請高手指教 #include "DSP2803x_Device.h" #include ...… 查看全部問答∨ |