趙 謙,朱 勇
?
基于Petri Nets的ASIP流水線研究
趙 謙,朱 勇*
(武漢紡織大學 數(shù)學與計算機學院,湖北 武漢 430073)
探討了將CPU中流水線用PetriNets模型進行描述設計的一種方法,為了分析驗證PetriNets流水線模型描述的正確與否,搭建了一個用verilog語言實現(xiàn)的模型CPU運行環(huán)境,該CPU的CU單元用PetriNets描述,對其做了仿真驗證,對這項研究的可行性進行了驗證,為以后進一步研究提出了一個可行的指導思想。
Petri網(wǎng);專用指令集處理器;Verilog硬件描述語言;可編程門陣列
目前,隨著超大規(guī)模集成電路FPGA和CPLD的發(fā)展[1],國外集成電路設計也越來越強調設計的可重用性和短周期性[2],IP(Intellectual Property)復用概念應運而生,并且已成為集成電路發(fā)展的趨勢[3],中國科技大學李曦等提出了“描述-搜索-細化”的ASIP設計方法學,并設計了相應的描述語言與設計環(huán)境。山東科技大學信息學院陳新華、張德學承擔的青島市科技局基于OR1200嵌入式SoC網(wǎng)關集成電路的設計。Petri網(wǎng)理論現(xiàn)在已經(jīng)十分的成熟,國內外有多所大學在對Petri網(wǎng)的應用進行研究,中科大的朱赟等人[4],利用Petri網(wǎng)對ASIP進行了初步的建模。
Petri Net模型在并發(fā)性和延時性上要優(yōu)于moore和mealy型狀態(tài)機,基于CPU中的并行和跳轉運行機制,設計者可以采用Petri Nets模型描述MIPS CPU的狀態(tài)機。在本文中,作者用Petri Nets建模方法實現(xiàn)了一個多周期的簡單32位MPIS架構模型CPU,在FPGA開發(fā)板上進行了邏輯驗證,該CPU可以實現(xiàn)基本的MIPS指令集。
1962年,C.A.Petri(Carl Adan1 Petri)博士提出了Petri Nets模型(見圖1),2007年,中國科技大學提出了基于PN的ASIP體系結構建模的PNP模型,對于這方面的研究作出了很大的貢獻。當今Petri Nets是一種系統(tǒng)的、數(shù)學的和圖形的描述和分析工具。
Petri Nets由同一個arc連接的兩個placeholder,P1、P2,placeholder不能同時帶有token值,P1帶有token值,此時P1處于激活狀態(tài),而P2中沒有token值,說明P2此時處于非激活狀態(tài)。
圖1 Petri Nets模型
對于PetriNets描述的狀態(tài)機模型進行了初步的研究,在此探討了I類指令中LW指令的5個運行周期在PetriNets模型中的轉換與變遷[5-7],給出了ASIP流水線在執(zhí)行LW指令時從取指令狀態(tài)變遷到指令譯碼狀態(tài)時,Petrinets流水線描述見圖2。
圖2描述的是模型CPU中CU模塊中的狀態(tài)機,圖中表示的含義是,在IF狀態(tài),庫所會輸出ALUOP,WRITEPC,ALUSRCA,ALUSRCB,WRITEIR五個控制信號,箭頭代表是每個變遷T,同理ID,EXE,MEM,WB4個庫所也在相應的變遷時輸出對應的信號,設計者可以根據(jù)這個PetriNets模型變遷圖,重新的設計模型CPU中CU單元控制信號的狀態(tài)機模型,不采用傳統(tǒng)的mealy型狀態(tài)機的設計方式。
圖2 CU單元PetriNets流水線描述
在Quartus9.0中針對IF到ID的變遷進行了系統(tǒng)建模實現(xiàn),采用quartus9.0自帶的功能仿真,將IF和ID庫所初始化,IF庫所被激活,然后發(fā)出ALUOP的控制信號,當ID被激活后,ALUOP拉低,LWOP處于高電平。圖3是庫所變遷的功能仿真圖。
圖3 庫所變遷仿真圖
用PetriNets模型來對MIPS架構的模型CPU的CU單元進行狀態(tài)機的高級描述首先要保證模型CPU的硬件環(huán)境搭建成功,為此,設計者通過Quartus軟件,用Verilog硬件描述語言完成了一個多周期的模型CPU,并且用測試程序對模型CPU進行了功能仿真與驗證,測試仿真圖如圖4,每次循環(huán)在8C240000指令時,memory成功的取出對應地址的值,第一次取A3,第二次是27,接著取出79和115,結果和預期一致,仿真完將工程下載到FPGA開發(fā)板上正常運行,證明模型CPU的邏輯設計是正確的,實驗的硬件環(huán)境搭建成功。
圖4 模型CPU測試仿真圖
圖5是模型CPU模塊的截圖,CLK是時鐘信號,memwe是memory寫信號,instaddr是PC值,instin是指令信號,來源于指令存儲器,MEMDATAIN是從memory中讀取的數(shù)據(jù),其它的信號是設計者做仿真引出來的內部信號。
圖5 模型機的硬件邏輯實現(xiàn)模塊
設計者給出了多周期ASIP的硬件環(huán)境搭建,對于CU單元中基于PetriNets模型的狀態(tài)機的描述給出了抽象的描述圖,設計者實現(xiàn)了CPU中CU單元流水線PetriNets描述驗證,完成了CU單元硬件描述與邏輯綜合。給出流水線模型CPU的硬件環(huán)境搭建,然后給出流水線PetriNets狀態(tài)機變遷描述圖,最后根據(jù)設計的狀態(tài)變遷圖轉換成對應的verilog硬件描述代碼,仿真成功后下載到FPGA開發(fā)板上運行。在以后的研究進行中,最終實現(xiàn)對基于MIPS架構的模型CPU的流水線狀態(tài)機進行完整的設計實現(xiàn)。
[1] 張彥鐸,陳馳,于寶成,等. 高速圖像采信系統(tǒng)的研制[J]. 武漢工程大學學報,2013, (5).
[2] 吳瓊飛.基于ADL的ASIP系統(tǒng)級綜合方法研究[D]. 武漢:武漢紡織大學,2011.
[3] 徐智輝,李衛(wèi)中,肖永軍. 自由擺上目標動態(tài)平衡控制系統(tǒng)的設計[J]. 武漢工程大學學報,2013,(1).
[4] 朱赟,李曦,龔育昌,等.基于Petri網(wǎng)的ASIP體系結構形式化建模方法研究 [J].MINI-MICRO SYSTEMS,2006.
[5] 朱勇.TTA流水線Petri網(wǎng)模型[J].微電子學與計算機,2013,(2).
[6] 陳文.基于Petri網(wǎng)的ASIP體系結構研究 [D].武漢:武漢紡織大學,2012.
[7] 朱子玉, 李亞民. CPU芯片邏輯設計技術 [M].北京:清華大學出版社, 2005.
Pipeline of ASIP Design Method Based on Petri Nets
ZHAO Qian, ZHU Yong
(College of Mathematic and Computer Science, Wuhan Textile University, Wuhan Hubei 430073, China)
A method of using PetriNets model design the pipeline of the traditional CPU, to verify this method is correct, set up a model CPU environment which is designed by verilog language, the CU of this CPU is designed by PetriNets, which has simulated this model, at the same time, author comes up with acorrect theory.
PetriNets; ASIP; VerilogHDL; FPGA
TP368.1
A
2095-414X(2013)03-0061-03
武漢紡織大學研究生創(chuàng)新基金(2012).
朱勇(1964-),男,教授,博士,研究方向:嵌入式SOC,ASIP.