摘要 在現今日新月異的科技發展,處理器始終電腦系統中扮演著無可取代的地位。在這二十多年來許多的處理器產品接連推出,但是各個處理器都沒有辦法保證自己的功能完全正確,即使是處理器大廠Intel也曾因為處理器錯誤而透過軟體補丁修正,由此可見產品的偵錯以及除錯是非常重要的。在本論文中,我們改善了實驗室原有的軟體驗證流程,並且將驗證時所發現的錯誤加以修正。 在改善驗證流程方面,我們將原本完全靠人工產生的測試程式,修改成只需要對原始程式進行些微修正,再下達幾個簡短的指令就可以產生軟體驗證流程所需的驗證程式。此外在驗證環境上我們也做了部份改善,將原本只能靠軟體波形圖的結果來除錯,增加了對外部進行文字輸出的能力,使得在除錯上更加的容易一點。 在錯誤修正方面,我們利用改善後的驗證環境找到了許多的問題,大致上可以分成規格書上沒有詳細記載而造成實作不正確的錯誤、規格書理解錯誤、功能實作不完全以及鍵入錯誤。經過這些錯誤修正後,軟體模擬環境就可以正常的執行並輸出結果。 最後我們將修正後的MIPS32處理器,透過Synopsys Design Compiler合成,在TSMC .13μm製程下之工作頻率為132.3MHz,晶片面積為8.9mm2。除了這項效能數據外我們新的軟體驗證環境所驗證的指令涵蓋率是原本驗證的三倍。
Abstract In the continuous improving of computer technology, processor always plays a major part of the computer system. There are a large number of processor go on sale in these years, but none of them can promise their accuracy. Even the most famous processor company, Intel, had also release the software patches to correct the errors of their processor. By that way we can know that detect error and debug in processor is very important. In this thesis, we improve the verification environment flow of our lab, and correct the errors found when verifying the original MIPS processor. To improve the flow of verification, we make test program in auto-gen instead of human coding. Under the auto-gen, we only need to modify few codes and issue several brief commands to get the test program of verification environment. In addition, we also improve the verification environment by make an output in text plus to the peripheral, which make the error correcting more easily. In case of the error correction, we find a lot of problem with the help of our new verification environment. Those problems could be summarized as follow: (1) doesn’t recode on the spec. (2) misunderstands of spec. (3) uncompleted functions. (4) miss typing. After correct the errors, we can get the correct results in our new verification environment. Finally we adopt Synopsys Design Compiler to synthesize our fixed MIPS32 processor by TSMC .13μm technology. The result proves the working frequency of our processor can achieve 132.3MHz and the chip area is 8.9mm2. Besides this potency data, our new verification environment confirms instruction coverage rate is three times than originally.