《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 8位RISC MCU IP軟核仿真的新方法
8位RISC MCU IP軟核仿真的新方法
摘要: 本文使用Microchip的PIC系列匯編器MPASM匯編生成HEX文件rom.hex,HEX文件由一條或多條記錄組成,每行是一條16進制表示的記錄。通過分析HEX文件的格式,可以通過轉化HEX文件中的記錄得到所需的ROM文件。本文使用VC設計了轉化程序HEX2ROM,用來完成HEX文件到ROM文件的自動轉化,rom.hex文件經程序轉化后生成rom.dat。仿真時在測試文件中讀入rom.dat完成對虛擬程序存儲器初始化,模擬程序存儲器模塊對MCU核進行驗證。
關鍵詞: 軟件 RISC MCU IP軟核 PIC
Abstract:
Key words :

  隨著集成電路產業的發展,SoC系統已經成為IC產業的主流。微控制器(MCU" title="MCU">MCU)是SoC系統的核心模塊,由于8位微控制器具有指令簡單靈活、規模小、速度快的特點,因此廣泛應用于SoC系統中。

  本文所要驗證的8位RISC" title="RISC">RISC MCU IP核是與Microchip公司的8位MCU指令集完全兼容的IP核,采用哈佛總線結構,地址總線和數據總線分開,程序和數據分別存儲在程序存儲器和數據存儲器中;采用兩級流水線設計,共有33條指令,指令寬度為12位,PC寬度為11位,可尋址2KB[1]。除了部分條件測試指令和跳轉指令為雙周期外,其他所有指令都可以在一個指令周期完成。

  1 MCU的結構分析

  該MCU核沒有內部程序存儲器,頂層劃分為控制部分和數據通路兩部分,細化后的結構如圖1所示。

MCU結構細化圖
圖1 MCU結構細化圖

  (1)控制部分由節拍發生器模塊、看門狗模塊和復位邏輯模塊組成。
 
  (2)數據通路由程序計數器(PC)、堆棧、指令寄存器(IR)、指令譯碼器、專用寄存器、通用寄存器、數據選擇器、ALU、IO端口模塊等組成。

  設計的具體實現不是本文的重點,因此不對整體設計實現作出詳細介紹。鑒于流水線和跳轉指令的實現是RISC MCU設計和仿真中的重點和難點,下文詳細介紹流水線和跳轉指令的實現原理。如圖2所示,一條指令的執行由Q1、Q2、Q3、Q4這4個時鐘節拍來完成,在當前指令執行周期中,PC值在Q1節拍有效時加1,Q4節拍把下一條指令取出到指令寄存器,準備讓MCU在下一個指令周期執行,從而實現了流水線的操作。

兩級流水線的實現

圖2 兩級流水線的實現

  若當前執行的指令為跳轉指令,如子程序調用指令CALL(假設CALL指令地址為PC1)執行時,CALL指令的下一條指令ROM[PC1+1]需要在程序返回時才能執行,但此時PC指針已經指向下一條指令,為了避免流水線遭到破壞,Q4取指時要用空操作指令(NOP)屏蔽掉下一條指令[2],PC值在下一個指令周期的Q1有效時更改為子程序的地址用于調用子程序,同時將當前PC(PC1+1)值壓入堆棧。子程序返回指令RETLW執行時與CALL的執行類似,不同之處是PC值在下一個指令周期的Q1有效時置為堆棧所存地址(PC1+1)跳回主程序。由上可知跳轉指令的執行由當前指令加一條NOP指令來完成,需要兩個指令周期來實現。

  2 仿真

  IC設計流程中,仿真主要包括功能驗證和后仿真兩個部分。功能驗證又稱為前仿真,用來驗證RTL級設計的功能是否正確;在后仿真中,布局布線的時延反標到設計中去,使仿真既包含器件延時,又包含布局布線后線延時信息,這種仿真能較好地反映芯片的實際工作情況[3]。以下的驗證方法同時適用于功能驗證和后仿真。

  進行仿真前,首先需要建立系統的仿真平臺,仿真平臺采用由TESTBENCH 和DUT(design under test)組成的體系。TESTBENCH對DUT施加激勵并檢查驗證結果的正確性,DUT是待測設計。由于本文設計的MCU核內部沒有程序存儲器,因此在建立仿真平臺時,需要在IP核外掛一個虛擬程序存儲器模塊,本文中DUT由將要進行驗證的MCU IP核的RTL模型或時序模型和虛擬程序存儲器模塊組成,如圖3所示。仿真時程序存儲器根據設計模型輸出的地址信號給出相應指令,該程序存儲器采用黑盒子的方式進行設計,用RTL對其外部接口建模,編譯時通過程序初始化文件rom.dat對其進行初始化。

仿真平臺

圖3 仿真平臺

  建立仿真平臺后,本文采用不同的指令以及指令組合對系統進行測試。雖然該MCU采用RISC指令集,只有33條指令。但該MCU IP核具有12位的指令寬度,并且不同的指令類型的指令格式也不相同,因此編寫測試指令也是一項非常復雜繁瑣的工作,需要耗費大量的時間,并且很容易由于人為原因出現錯誤的指令編碼,最終導致錯誤的仿真結果。為了解決這一問題,本文采用匯編語言來編寫測試指令,經過匯編程序仿真器仿真無誤后[4],再由匯編器編譯生成HEX文件,然后由該HEX文件轉化為仿真需要的ROM文件,避免了人為原因導致的錯誤指令編碼,并且大大加快了測試文件的生成。

  本文使用Microchip的PIC" title="PIC">PIC系列匯編器MPASM匯編生成HEX文件rom.hex,HEX文件由一條或多條記錄組成,每行是一條16進制表示的記錄。通過分析HEX文件的格式,可以通過轉化HEX文件中的記錄得到所需的ROM文件。本文使用VC設計了轉化程序HEX2ROM,用來完成HEX文件到ROM文件的自動轉化,rom.hex文件經程序轉化后生成rom.dat。仿真時在測試文件中讀入rom.dat完成對虛擬程序存儲器初始化,模擬程序存儲器模塊對MCU核進行驗證。

   下面使用該方法對跳轉指令CALL、RETLW進行驗證,其他指令的驗證方法與其類似,不再贅述。首先編寫一段驗證CALL、RETLW的匯編程序

 

  TESTCALL.ASM。
            …
       ORG  100H
T_CALL CALL  DLY
       MOVLW 00H

       ORG  000H         
DLY  RRF  6
       RETLW 0
           …

  然后使用匯編器MPASM對該程序進行編譯,程序的編譯后的HEX文件以及轉化后的ROM文件如表1所示。其中326代表的是RRF,800代表的是RETLW,900代表的是CALL DLY,C00代表的是MOVLW 00H。

HEX文件與ROM文件的部分記錄對比

  最后把ROM文件讀入驗證平臺初始化虛擬程序存儲器模塊,開始進行仿真,圖4是該測試程序在Modelsim中進行仿真的仿真波形,可以看到當測試程序執行到CALL指令時,在CALL指令后插入了一個空操作指令,同時將PC置為被調用的子程序DLY的起始地址(000)。然后在下一個指令周期開始執行DLY子程序。同樣測試程序執行到RETLW時,在RETLW后插入了一個空操作指令,同時將PC恢復為CALL指令的下一條指令(C00)的地址(101)。仿真結果與跳轉指令的設計要求相符。

跳轉指令CALL

圖4 跳轉指令CALL、RETLW仿真波形圖

  3 結束語

  本文提出的建立虛擬指令存儲器模塊對MCU IP核仿真的方案和自動生成指令測試文件的方法,大大提高了MCU IP核仿真和驗證的效率。此方法不僅對本文中MCU IP核的仿真和驗證有效,也可用于同類中其它IP核的仿真和驗證。例如當對MCU進行升級設計、擴展尋址范圍或指令寬度時,只要修改仿真文件和轉化程序的相關參數即可。

  參考文獻

1 Microchip Technology Inc.. PIC 16c5x Datasheet[Z]. 1998.
2 徐  欣, 于紅旗, 易  凡, 等. 基于FPGA的嵌入式系統設計[M]. 北京: 機械工業出版社, 2004.
3 楊  圣. PIC系列單片機的原理與實踐[M]. 合肥: 中國科學技術出版社, 2003.
4 劉志碧, 陳  杰, 陳迪平. 適用于RISC CPU 的轉移指令的原理及仿真[J]. 半導體技術, 2003, 28(11): 68-70.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美xart系列在线观看| 亚洲高清av| 美国三级日本三级久久99| 精品99一区二区| 国产日韩欧美日韩大片| 亚洲精品一区二区在线| 在线日韩av片| 亚洲第一狼人社区| 亚洲欧美一区二区三区久久| 日韩视频免费看| 国产欧美一区二区三区另类精品| av成人国产| 国产精品爽爽爽| 久久人人精品| 国产农村妇女毛片精品久久麻豆| 最新国产拍偷乱拍精品| 国产伦精品一区二区三区在线观看| 欧美一区二区三区久久精品| 亚洲高清在线播放| 欧美专区在线观看一区| 欧美日韩亚洲一区二区三区在线观看| 国产精品久久网| 亚洲精品少妇网址| 久久久久久一区二区三区| 亚洲国产欧美日韩精品| 欧美大片免费观看在线观看网站推荐| 狠狠v欧美v日韩v亚洲ⅴ| 欧美在线啊v| 久久国产夜色精品鲁鲁99| 亚洲高清视频在线观看| 一本色道婷婷久久欧美| 久久黄色小说| 欧美在线影院| 六十路精品视频| 在线一区二区三区四区五区| 国产亚洲免费的视频看| 欧美激情中文字幕在线| 久久激情综合| 国产精品国产三级国产专播品爱网| 欧美一级精品大片| 欧美国产一区在线| 亚洲资源在线观看| 影音先锋欧美精品| 久久综合亚洲社区| 国产精品免费一区豆花| 美女免费视频一区| 一片黄亚洲嫩模| 99国产一区二区三精品乱码| 亚洲视频在线观看一区| 亚洲一区视频| 午夜一级久久| 午夜精品电影| 欧美精品一区二区三区很污很色的| 欧美日韩在线不卡一区| 国产亚洲a∨片在线观看| 91久久线看在观草草青青| 亚洲大片一区二区三区| 另类酷文…触手系列精品集v1小说| 妖精成人www高清在线观看| 免费在线日韩av| 狠狠色狠狠色综合人人| 亚洲精选大片| 亚洲欧美在线免费观看| 欧美高清视频一区二区三区在线观看| 欧美极品色图| 久久九九国产精品| 在线一区二区视频| 亚洲一区免费在线观看| 一区二区三区在线免费观看| 久久久精品一区| 亚洲一区在线视频| 欧美日本精品在线| 国产精品毛片大码女人| 国产精品免费aⅴ片在线观看| 免费成人美女女| 狂野欧美性猛交xxxx巴西| 一区二区国产日产| 在线视频国产日韩| 国产精品电影观看| 国产农村妇女精品一二区| 亚洲全部视频| 久久精品男女| 亚洲欧美卡通另类91av| 欧美精品在线看| 国产精品国产成人国产三级| 久久夜色精品| 亚洲国产欧美一区二区三区久久| 国产在线播精品第三| 欧美1区免费| 欧美一区二区视频97| 欧美精选午夜久久久乱码6080| 亚洲精品美女久久久久| 国产视频在线观看一区二区三区| 久久蜜臀精品av| 麻豆精品精品国产自在97香蕉| 国产日韩高清一区二区三区在线| 国内成人精品一区| 性做久久久久久久久| 国产精品网曝门| 久久久久久尹人网香蕉| 亚洲精品永久免费| 亚洲国产专区| 欧美+亚洲+精品+三区| 噜噜噜在线观看免费视频日韩| 亚洲精品综合| 99视频精品全部免费在线| 国产欧美亚洲视频| 久久综合激情| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲一区在线观看视频| 国产精品亚洲一区| 一区二区三区高清视频在线观看| 国产亚洲精品7777| 午夜天堂精品久久久久| av成人激情| 久久国产日韩| 欧美日韩免费高清一区色橹橹| 亚洲精品美女在线| 国产精品久久久久久久久婷婷| 亚洲国产一区二区在线| 性欧美xxxx视频在线观看| 一区二区三区蜜桃网| 亚洲永久免费| 欧美日韩综合网| 欧美亚洲一区二区在线| 国产精品扒开腿做爽爽爽软件| 麻豆九一精品爱看视频在线观看免费| 国产日韩精品一区二区浪潮av| 欧美日韩视频第一区| 国产精品视频精品| 久久久999精品视频| 欧美成人69| 欧美在线影院在线视频| 久久成人免费网| 国产欧美日韩亚洲精品| 国产精品久久久久影院亚瑟| 精品粉嫩aⅴ一区二区三区四区| 久久久精品tv| 欧美激情第五页| 欧美区视频在线观看| 一区二区高清| 好吊妞**欧美| 欧美日韩第一区| 免费一级欧美片在线观看| 国产精品露脸自拍| 久久免费少妇高潮久久精品99| 国产欧美1区2区3区| 欧美人与禽性xxxxx杂性| 亚洲欧美视频在线| 欧美jizzhd精品欧美巨大免费| 亚洲精品一区二区三区在线观看| 亚洲人成免费| 国内精品久久久久影院 日本资源| 国产精品狠色婷| 久久久一区二区| 永久域名在线精品| 午夜视频在线观看一区二区三区| 黄色成人在线| 国产女主播一区二区| 先锋亚洲精品| 亚洲国产黄色片| 欧美日韩在线不卡一区| 国产欧美精品日韩精品| 国产一区日韩二区欧美三区| 国产精品区二区三区日本| 欧美精品一区二区高清在线观看| 国产欧美一区二区色老头| 国产日韩一区欧美| 欧美中文字幕第一页| 亚洲永久免费av| ●精品国产综合乱码久久久久| 久久久av网站| 91久久国产自产拍夜夜嗨| 国产伦精品一区二区三区免费迷| 玖玖玖免费嫩草在线影院一区| 国产精品v片在线观看不卡| 亚洲毛片在线观看| 夜夜嗨av一区二区三区四季av| 国产综合色产| 欧美日韩ab| 亚洲欧美日韩国产综合精品二区| 欧美日韩一区二区在线观看视频| 欧美午夜精品久久久久久人妖| 国产精品久久久久久久app| 亚洲电影毛片| 国产一区导航| 红桃视频亚洲| 欧美在线亚洲一区| 久久综合精品国产一区二区三区| 欧美日本韩国一区| 久久精品人人爽| 久久久爽爽爽美女图片| 香蕉久久久久久久av网站| 国产午夜精品麻豆| 久久久久久久久久久久久9999| 国产日韩精品在线播放| 久久精品导航| 欧美性一区二区| 在线观看亚洲精品| 亚洲精品一区二区三区福利| 亚洲国产欧美在线人成| 国产伦精品一区二区三区免费迷| 欧美日韩伊人| 久久国产精品一区二区三区四区| 欧美日韩在线免费视频| 亚洲午夜免费福利视频| 国产精品亚洲片夜色在线| 欧美久色视频| 国产日韩在线看片| 欧美性jizz18性欧美| 欧美理论在线| 99热免费精品在线观看| 西瓜成人精品人成网站| 久久久久久日产精品| 久久久久久999| 亚洲欧美一区二区在线观看| 久久久久久久久久久成人| 亚洲视频一区二区| 一本大道久久a久久综合婷婷| 欧美一区精品| 免费观看日韩| 久久亚洲私人国产精品va| 国产精品高精视频免费| 亚洲在线观看免费视频| 欧美成人一区二区三区片免费| 国产精品视频久久久| 国产精品美女久久福利网站| 国产亚洲精品综合一区91| 国产精品第三页| 欧美一级久久| 国产精品永久免费视频| 亚洲精品乱码久久久久久蜜桃91| 亚洲一区在线视频| 国产精品大片免费观看| 国内精品视频一区| av不卡在线观看| 欲香欲色天天天综合和网| 久久字幕精品一区| 欧美日韩国产不卡在线看| 国产精品久久久久国产精品日日| 亚洲国产日韩欧美一区二区三区| 久久综合中文色婷婷| 国产日韩亚洲欧美精品| 欧美日韩欧美一区二区| 这里只有精品视频| 亚洲成色www8888| 午夜精品网站| 在线观看视频欧美| 久久久夜色精品亚洲| 国产精品日韩在线一区| 亚洲激情在线观看| 在线中文字幕日韩| 亚洲激情中文1区| 久久婷婷色综合| 欧美日韩免费在线| 蜜桃久久av| 先锋a资源在线看亚洲| 久久中文字幕一区二区三区| 99在线精品视频在线观看| 国产精品嫩草99a| av72成人在线| 日韩一区二区精品葵司在线| 国产精品入口日韩视频大尺度| 国产精品黄色在线观看| 1024精品一区二区三区| 欧美精品日韩综合在线| 亚洲成色最大综合在线| 久久综合伊人77777| 91久久精品久久国产性色也91| 国产精品扒开腿做爽爽爽软件| 一本大道久久a久久综合婷婷| 最新成人av网站| 亚洲精品久久久久久下一站| 在线观看成人av电影| 久久艳片www.17c.com| 国产精品美女午夜av| 亚洲一区二区三区中文字幕| 欧美国产日韩一区二区在线观看| 国产精品乱看| 国产精品老女人精品视频| 亚洲一区二区三区国产| 久久精品国产第一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 欧美福利影院| 亚洲影视在线播放| 亚洲欧洲精品一区二区三区| 久久夜色精品亚洲噜噜国产mv| 香蕉国产精品偷在线观看不卡| 亚洲第一色中文字幕| 国产精品免费小视频| 久久精品免费观看| 国产视频一区二区在线观看| 国产女优一区| 老司机一区二区三区| 亚洲另类在线一区| 久久免费高清视频| 亚洲欧美综合一区| 久久超碰97人人做人人爱| …久久精品99久久香蕉国产| 亚洲欧洲日夜超级视频| 欧美精品日韩一区| 久久亚洲风情| 欧美一级视频精品观看| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲精品视频啊美女在线直播| 免费观看欧美在线视频的网站| 欧美精品午夜视频| 国产精品天天看| 欧美在线视频导航| 欧美专区日韩专区| 欧美久久久久久久久久| 亚洲一区bb| 欧美视频一区在线观看| 亚洲欧美不卡| 国内免费精品永久在线视频| 狠狠狠色丁香婷婷综合激情| 欧美日韩一级大片网址| 国产精品av免费在线观看| 欧美1级日本1级| 欧美乱大交xxxxx| 亚洲欧洲在线看| 国产精品综合av一区二区国产馆| 国产欧美精品日韩区二区麻豆天美| 欧美一级淫片aaaaaaa视频| 亚洲精品在线视频观看| 欧美另类极品videosbest最新版本| 欧美日本一道本在线视频| 国产一区二区在线观看免费|