999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種開源軟核OR1200的系統(tǒng)級描述方法研究※

2015-08-14 08:03:24吳瓊飛張志強(qiáng)朱勇
關(guān)鍵詞:指令信號方法

吳瓊飛,張志強(qiáng),朱勇

(1.華中農(nóng)業(yè)大學(xué)楚天學(xué)院,信息工程學(xué)院,武漢430205;2.武漢紡織大學(xué))

吳瓊飛(講師)、張志強(qiáng)(助教)、朱勇(教授),研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用。

引 言

專用指令集處理器(ASIP)是一種具有處理器結(jié)構(gòu)的芯片,它具有可定制性,為某個或某一類型應(yīng)用而專門設(shè)計,能夠高效地解決嵌入式系統(tǒng)設(shè)計中的實(shí)際問題,已在現(xiàn)今的片上系統(tǒng)(SoC)中得到了廣泛的應(yīng)用。但在系統(tǒng)定制ASIP處理器時往往受到芯片面積、上市時間(TTM)和功耗等非功能性的約束[1,4-5],設(shè)計者必須要找到一款合適的處理器體系結(jié)構(gòu),所以在設(shè)計的初期要針對特定應(yīng)用進(jìn)行設(shè)計空間搜索(DSE),利用ADL對目標(biāo)結(jié)構(gòu)進(jìn)行描述并用硬件描述語言(HDL)來進(jìn)行硬件實(shí)現(xiàn)。傳統(tǒng)設(shè)計方法是直接使用 HDL語言來進(jìn)行硬件設(shè)計[6,9],從而導(dǎo)致設(shè)計周期相當(dāng)漫長。本文探討了一種基于SystemC體系結(jié)構(gòu)描述語言的系統(tǒng)級設(shè)計方法,對一款開源軟核OpenRISC1200(以下簡稱OR1200)進(jìn)行系統(tǒng)級建模,并在此基礎(chǔ)上實(shí)現(xiàn)系統(tǒng)級的綜合,由ADL描述通過相應(yīng)機(jī)制映射成RTL級的HDL描述,加快處理器的設(shè)計速度。

1 OR1200軟核剖析

1.1 OR1200CPU基本結(jié)構(gòu)

OR1200是OpenRISC系列RISC處理器內(nèi)核的一員,它是一種32位標(biāo)量RISC體系結(jié)構(gòu)[14],具有哈佛結(jié)構(gòu),帶有5級整數(shù)流水線。其執(zhí)行特征包括虛擬內(nèi)存支持和基本DSP功能,外部數(shù)據(jù)總線和地址總線接口符合Wishbone總線標(biāo)準(zhǔn)。OR1200CPU/DSP基本框圖如圖1所示。

圖1 OR1200CPU/DSP基本框圖

1.2 OR1200CPU 5級流水結(jié)構(gòu)分析

OR1200 5級流水是指IF取指、ID譯碼、EX執(zhí)行、MA存儲、WB回寫,這里將CPU分解成若干個模塊,每一級都對應(yīng)相應(yīng)的模塊,5級流水的OR1200CPU內(nèi)部模塊如圖2所示。

各級流水的功能分別如下:

圖2 5級流水的OR1200CPU內(nèi)部模塊

①IF(Instruction Fetch)取指級,按照PC的地址從存儲器中取出指令,PC指向下一條指令,取出的指令被送到下一條流水級ID。為了保證運(yùn)算能按時進(jìn)行,在這個時鐘周期需要提前提取操作數(shù)RA和RB寄存器的內(nèi)容,寄存器的地址rf_addra/b和讀信號rf_rda/b在本流水線級未被凍結(jié)時給出。

②ID(Instruction Decode)指令譯碼級,指令被ctrl模塊解碼成控制信號,所得到的這些信號被送到EX執(zhí)行級和其他流水級。指令在EX執(zhí)行級時需要用到來自rf(寄存器堆)的2個操作數(shù),這2個操作數(shù)在ID級被送到算術(shù)邏輯運(yùn)算單元ALU的a、b兩個端口,同時譯碼級還要把譯碼后得到的運(yùn)算操作信號OP傳遞給ALU。對于跳轉(zhuǎn)指令分為非條件跳轉(zhuǎn)和條件跳轉(zhuǎn)。如果譯碼器ctrl識別到非條件跳轉(zhuǎn),會馬上通知IF級;如果識別到的是條件跳轉(zhuǎn),就會根據(jù)標(biāo)志位判斷跳轉(zhuǎn)的結(jié)果,從而決定是否立即通知IF。另外,如果譯碼器識別到指令HALT,則會停止流水線。

③EX(Excution)執(zhí)行級,它主要通過ALU實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。

④ MA(Memory Access)存儲器訪問級,它使用Load/Store指令從存儲器裝載數(shù)據(jù)到寄存器堆或從寄存器堆存儲數(shù)據(jù)到存儲器,或者只是將EX級的運(yùn)算結(jié)果送到下一級WB回寫級中。

⑤ WB(Write Back)回寫級,主要是把數(shù)據(jù)寫回到寄存器堆rf中。

2 系統(tǒng)級描述方法研究

2.1 系統(tǒng)級設(shè)計方法

嵌入式系統(tǒng)的設(shè)計[8,10]是一個由高抽象級到低抽象級的逐層實(shí)現(xiàn)過程,每一層都會涉及到描述、驗(yàn)證以及到下一層的轉(zhuǎn)換(綜合)問題。系統(tǒng)級包含硬件和軟件等多種實(shí)現(xiàn),與RTL級相比處于更高的抽象層次,它能實(shí)現(xiàn)對微處理器、專用集成電路、可編程邏輯和存儲器等的高層次抽象。

針對傳統(tǒng)設(shè)計方法的不足,本文提出了一種基于系統(tǒng)級描述語言SystemC的設(shè)計方法,基于SystemC的ASIP設(shè)計流程如圖3所示。

圖3 基于SystemC的ASIP設(shè)計流程

首先針對一組特定應(yīng)用以及設(shè)計約束分析得到初始目標(biāo)體系結(jié)構(gòu)[7,13],然后對目標(biāo)體系結(jié)構(gòu)進(jìn)行SystemC描述,通過SystemC開發(fā)平臺自動生成相應(yīng)的軟件工具(包括編譯器、仿真器、連接器等)以及硬件RTL級HDL描述,之后分別從軟件和硬件兩個方面進(jìn)行評測,看是否符合設(shè)計約束要求。如果不符合設(shè)計約束要求,設(shè)計人員對目標(biāo)體系結(jié)構(gòu)的SystemC描述進(jìn)行相應(yīng)的修改,最后通過開發(fā)平臺完成軟件工具和硬件描述的生成并對其進(jìn)行評測,直到滿足設(shè)計約束要求為止。

2.2 體系結(jié)構(gòu)描述語言SystemC

SystemC作為一種硬件描述語言,是由OSCI(Open SystemC Initiative)組織制定和維護(hù)的、開放源代碼的、基于C++類庫的系統(tǒng)級建模平臺。它既是一種軟硬件協(xié)同設(shè)計語言,又是一種新的系統(tǒng)級建模語言,可以用來設(shè)計硬件模型和提供硬件模擬平臺。

在SystemC中,用來進(jìn)行設(shè)計描述的基本SystemC類是SC_M(jìn)ODULE,它類似VHDL的實(shí)體ENTITY或者Verilog的模塊MODULE。在SC_M(jìn)ODULE中可以定義輸入引腳、輸出引腳、內(nèi)部信號等資源,同時也可以實(shí)例化另外一個SystemC MODULE,對于設(shè)計的行為可以使用方法SC_M(jìn)ETHOD或者SC_THREAD進(jìn)行描述。SC_M(jìn)ETHOD或SC_THREAD在SC_M(jìn)ODULE內(nèi)的構(gòu)造函數(shù)中進(jìn)行聲明,并且可以指定相應(yīng)的敏感信號列表SENSITIVE,隨著敏感列表上輸入信號的變化從而產(chǎn)生相應(yīng)的方法。SystemC能在內(nèi)核的基礎(chǔ)上建立信號、FIFO等,它結(jié)合了高級語言和硬件描述語言這兩者的特點(diǎn)[2-3],系統(tǒng)抽象能力強(qiáng),并能對硬件設(shè)計中的信號同步、時間延遲、狀態(tài)轉(zhuǎn)換等物理信息進(jìn)行描述,所以SystemC可以很好地應(yīng)用于ASIP系統(tǒng)級設(shè)計中。

2.3 OR1200CPU系統(tǒng)級SystemC描述

在系統(tǒng)級對ASIP處理器進(jìn)行設(shè)計,ADL是整個設(shè)計的核心。利用SystemC在系統(tǒng)級對OR1200CPU內(nèi)部模塊進(jìn)行描述,并通過一款可集成開發(fā)軟件Agility Compiler實(shí)現(xiàn)SystemC的綜合,加快了硬件設(shè)計的實(shí)現(xiàn)。在實(shí)現(xiàn)的過程中,目前只用到了if(取指令)、getpc(程序計數(shù)器)、ctrl(控制譯碼器)、rf(通用寄存器文件)、opmux(操作數(shù)多路復(fù)用器)、alu(算術(shù)邏輯單元)、lsu(load/store單元)和wbmux(寫回)這8個模塊。下面的例子是使用SystemC對OR1200CPU部分模塊進(jìn)行系統(tǒng)級描述的部分代碼實(shí)現(xiàn):

3 系統(tǒng)驗(yàn)證

采用一種將新的高效測試方式與傳統(tǒng)的系統(tǒng)測試方式相結(jié)合的手段,利用嵌入式邏輯分析儀進(jìn)行驗(yàn)證,設(shè)計人員將它連同目標(biāo)文件一起下載到目標(biāo)器件的芯片中(這里是EP2C70F896),以此來獲得目標(biāo)器件芯片內(nèi)部信號節(jié)點(diǎn)處的相應(yīng)信息,同時硬件系統(tǒng)還能正常工作,這就是QuartusII中SignalTapII的目的。在實(shí)際檢測過程中,SignalTapII[14]將采集到的樣本信號臨時存入到目標(biāo)器件的RAM中,然后通過目標(biāo)器件的JTAG口將采樣信息傳入到計算機(jī)中顯示,最后進(jìn)行分析。SignalTapII能夠?qū)Ρ粶y試系統(tǒng)模塊內(nèi)部的信號節(jié)點(diǎn)進(jìn)行采樣,并且它是由多時鐘驅(qū)動的,能通過設(shè)置相應(yīng)的參數(shù)來顯示前后觸發(fā)捕捉信號節(jié)點(diǎn)信息的比例,便于對數(shù)據(jù)進(jìn)行分析。當(dāng)然在驗(yàn)證系統(tǒng)之前,要設(shè)計好指令Testbench,本文根據(jù)OpenRISC ORBIS32指令集用匯編語言設(shè)計了3類指令Testbench:無沖突的指令Testbench、有沖突的指令Testbench和有跳轉(zhuǎn)的指令Testbench。為了測試?yán)肧ystemC設(shè)計后的OR1200CPU是否能正常工作,事先設(shè)計好測試指令的相應(yīng)編碼mif文件,利用Altera Quartus II自帶的SignalTap II工具仿真驗(yàn)證,系統(tǒng)驗(yàn)證結(jié)果略——編者注。

結(jié) 語

本文設(shè)計實(shí)現(xiàn)了一種對ASIP進(jìn)行系統(tǒng)級高層綜合的方法,以一款開源軟核OR1200為實(shí)例,ADL體系結(jié)構(gòu)描述語言SystemC為核心,通過Agility Compiler編譯器實(shí)現(xiàn)系統(tǒng)級綜合。實(shí)踐證明,這種基于體系結(jié)構(gòu)描述語言SystemC的系統(tǒng)級設(shè)計方法是可行的。

編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。

[1]楊君.專用指令集處理器(ASIP)體系結(jié)構(gòu)設(shè)計研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2006.

[2]申鑫.基于SystemC的RTL級綜合的研究[D].西安:西安電子科技大學(xué),2012.

[3]魯芳,柏娜.基于SystemC和Verilog軟硬件協(xié)同驗(yàn)證[J].現(xiàn)代電子技術(shù),2008(4):1-3.

[4]楊君,李曦,王志剛,等.專用指令集處理器(ASIP)系統(tǒng)級設(shè)計研究[J].系統(tǒng)工程與電子技術(shù),2006,28(10).

[5]李曦,龔育昌.基于Petri網(wǎng)的ASIP體系結(jié)構(gòu)形式化建模方法研究[J].小型微型計算機(jī)系統(tǒng),2006,27(9).

[6]蘇鶴年,李曦,王志剛,等.基于語言的ASIP系統(tǒng)級綜合方法研究[J].微型機(jī)與應(yīng)用,2005(9).

[7]余潔.專用指令集處理器可靠性評估技術(shù)研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2007.

[8]王志剛.xpMODEL:A Novel Model for ASIP Architecture[D].合肥:中國科學(xué)技術(shù)大學(xué),2006.

[9]Yong Zhu.The Specification of the Embedded System of Realtime IR,DCABES 2007(ISTP),2007.

[10]Yong Zhu.The ASIP Design Specification Based on ADL,DCABES2009(ISTP).

[11]Fanucci L,Cassiano M,Saponara S.ASIP Design and Synthesis for Non Linear Filtering in Image Processing,Design[J].Automation and Test in Europe,2006(12):1-6.

[12]Morgan P,Taylor R.ASIP Instruction Encoding for Energy and Area Reduction,Design Automation Conference,2007[C].California:[unknown],2007.

[13]Dan Wu,Zhiying Wang,Kui Dai,et al.A Novel Compiling Approach for Sub-Word Parallelism Exploitation in Media-Processing Algorithm,5th International Symposium on Parallel Computing in Electrical Engineering(PARELEC 2006,IEEE Computer Society),2006[C].Bialystok:[unknown],2006.

[14]Altera Corporation.Quartus II Handbook,volume 5,2007.

猜你喜歡
指令信號方法
聽我指令:大催眠術(shù)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
基于LabVIEW的力加載信號采集與PID控制
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 久久精品国产精品青草app| 在线无码九区| 国产麻豆精品在线观看| 国产91导航| 精品国产香蕉在线播出| 亚洲熟妇AV日韩熟妇在线| 国产午夜人做人免费视频中文| 国产亚洲现在一区二区中文| 国产精品香蕉| 国产精品伦视频观看免费| 91九色最新地址| 欧美特黄一级大黄录像| 久久黄色免费电影| 国产成人综合在线观看| 国产香蕉在线视频| 91在线高清视频| 伊人成人在线| 亚洲IV视频免费在线光看| 久久久成年黄色视频| 婷婷色一二三区波多野衣| 特级aaaaaaaaa毛片免费视频| 呦女亚洲一区精品| av一区二区三区高清久久| 高潮毛片无遮挡高清视频播放| 日韩经典精品无码一区二区| 色噜噜在线观看| 天天躁夜夜躁狠狠躁躁88| 精品视频在线一区| 成年午夜精品久久精品| 国产精品自在拍首页视频8| 一级成人a毛片免费播放| 亚洲成人黄色在线观看| 国产网站一区二区三区| 亚洲精品图区| 国产精品久久自在自线观看| 澳门av无码| 欧美不卡二区| 欧美性精品| 欧美激情综合| 在线a视频免费观看| 永久免费精品视频| 伊人久久综在合线亚洲2019| 区国产精品搜索视频| 久久国产精品77777| 伊人激情综合| 91年精品国产福利线观看久久| 亚洲一级毛片在线观| 香蕉网久久| 日本人又色又爽的视频| 综合色区亚洲熟妇在线| 97狠狠操| 中文字幕一区二区人妻电影| 日韩久久精品无码aV| 亚洲精品天堂自在久久77| 久久亚洲美女精品国产精品| 免费看美女自慰的网站| 97国产精品视频自在拍| 99精品视频播放| 色亚洲激情综合精品无码视频 | 久99久热只有精品国产15| 亚洲色精品国产一区二区三区| 亚洲日本中文综合在线| 亚洲国产天堂久久综合| 亚洲第一色网站| 国产精品片在线观看手机版| 国产亚洲精品91| 四虎国产精品永久在线网址| 自慰高潮喷白浆在线观看| 免费A级毛片无码无遮挡| 九色免费视频| 久久婷婷五月综合97色| 精品国产成人a在线观看| 一本一道波多野结衣一区二区| 国产网站一区二区三区| 欧美国产中文| 亚洲高清国产拍精品26u| 国产丰满成熟女性性满足视频| 免费 国产 无码久久久| 中文字幕佐山爱一区二区免费| 久996视频精品免费观看| 国产亚洲视频在线观看| 黄网站欧美内射|