《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式DS80C320單片機軟核設計與實現
嵌入式DS80C320單片機軟核設計與實現
摘要: 在如今的快速嵌入式系統設計中,目前比較流行的方案是在FPGA內集成應用軟件或是軟IP平臺,以簡化工序、加速產品面市日程。為此,很多公司推出了自己的開發平臺以及相關CPU的IP核,常見的為兩種:一種是通用型CPU;還有就是專用型的,常見的為51系列單片機的CPU核。
Abstract:
Key words :

   1 引言

  在如今的快速嵌入式系統設計中,目前比較流行的方案是在FPGA內集成應用軟件或是軟IP平臺,以簡化工序、加速產品面市日程。為此,很多公司推出了自己的開發平臺以及相關CPU的IP核,常見的為兩種:一種是通用型CPU,如xilinx和altera公司的32位以及64位通用CPU核;還有就是專用型的,常見的為51系列單片機的CPU核,但是目前關于單片機的軟核基本上都是8051的,其他的品種很少。而且8051的速度不是很快,在有些快速的控制場合(如利用單片機來作為usb2.0的控制部件)顯得速度不足,比較著名的actel公司推出的Core8051,運行頻率也只在40 MHz左右。本文介紹了一個非常高速DS80C320單片機軟核的設計。

  DS80C320單片機是DALLAS公司推出的一款基于51框架的高性能單片機。

  它有如下一些優點:

 ?、?,具有與51系列完全一致的指令系統,能充分兼容所有基于51系列開發的程序;

 ?、?,具有比8051更加齊全的外設。相比8051單片機,DS80C320增加了定時器2以及一個增強型串口等;

 ?、?,具有比8051更好的效率;DS80C320的一個指令周期是4個CLK,8051則是12個,這個區別尤其是在處理簡單指令的時候優勢明顯,例如單周期指令的處理,DS80C320只需要4個CLK,而8051需要12個,據DALLAS公司的統計表明,在相同時鐘頻率下,DS80C320每條指令的執行速度是8051的1.5~3倍,對于典型的應用程序來說,執行速度也是8051的2.5倍左右。

  ⅳ,其讀取指令的方式比8051更加適合IP核的特點;將單片機內部ROM去掉,完全從外部讀取指令,這種特點作為軟核是很適合的,首先是結構簡單,有利于指令讀取的流水設計,其次可以突破內部ROM大小的限制,最后,作為FPGA設計的特點,即使8051的設計,內部ROM塊也是放在FPGA芯片的ROM資源里面,與其這樣,還不如直接放到外面更加簡化時序與結構;

 

  2 總體結構劃分

  如圖所示為DS80C320軟核的總體功能圖:

  DS80C320功能框圖

  圖1 DS80C320功能框圖

 

  本IP核的設計主要按照指令執行的流程來安排功能塊,并通過數據總線來傳遞數據;虛線里面的為CPU核心;首先是ROM模塊,DS80C320并沒有內部ROM,所以該模塊功能主要是分析從P端口讀取過來的指令,并通過查找指令的長度以及周期數目,從而計算出相關控制信號發送給CPU控制模塊以便控制指令的讀??;同時,如果指令為LCALL或者ACALL,則可以分析出子程序入口地址并報送PC模塊,引導PC正確跳轉;在ROM模塊分析指令的同時,譯碼器DECODER也在進行譯碼的動作,它將根據指令的8位數據分析出三個重要的參數:ALU的動作類型,該指令的操作數據來源以及讀取方式,該指令結果的存放位置以及存放方式;第一個參數送給ALU模塊,其余兩個送到CPU控制模塊;CPU控制模塊CPU_CON是整個CPU的核心部分,主要完成兩個作用:ALU執行前的讀取數據控制,以及ALU執行完成之后回寫數據控制;該模塊同時也控制著整個CPU的時序,監視其他模塊的執行情況;ALU則主要是完成計算工作;INteR模塊則是中斷系統的控制模塊,其功能主要完成對各個中斷源所提交的中斷請求的有效判斷以及排序,產生中斷標志并且將判斷結果以及中斷入口地址編碼提交給ROM模塊,以指示程序跳轉,同時還需要負責在中斷完成之后清除中斷標志以及恢復中斷之前的中斷等級; DS80C320有三個定時器和2個串行口,其中定時器2和串行口如果不需要的話可以裁減;至于其他的模塊或者寄存器則在CPU控制模塊的控制下通過數據總線交換數據;可見,本設計的思路是以CPU_CON控制整個CPU的執行以及時序,以INTER控制整個中斷系統,其他寄存器則以數據總線來完成數據的交換,均勻的分布在數據總線的兩側,結構清晰簡單,規則化的設計也有利于提高速度,以及方便裁減。

  3 一些設計特點

  3.1時序設計

  在DS80C320單片機的資料里面只有外部接口的時序介紹,對于內部的信號執行則沒有說明,因此需要重新規劃,本軟核對DS80C320的時序進行了詳細的分析,按照黑盒子的思想,加入了流水線的技巧,對其時序的設計如下:

  對于普通指令的執行過程,內部時序劃分如下:

 

  DS80C320內部時序圖

  圖2 DS80C320內部時序圖

  這是一條單字節單周期指令的執行過程,在C1的上升沿開始譯碼以及查找本指令的長度周期表,同時,數據總線上面是正在回寫的上一條指令的結果;到了C2的上升沿,數據總線和地址總線的控制權就回到了本條指令的手里,這個時候地址總線用來發送需要讀取的數據的地址,數據總線則做好從發送數據到接收數據的準備,這個動作由CPU控制模塊完成;然后在C3的上升沿,被選中模塊根據地址總線和控制總線讀出相關數據并送入數據總線,在這以后的一個時鐘長度的時間里面,ALU接到了數據,然后在C4的上升沿,開始執行數據處理,同時,CPU控制模塊再次改變地址總線和控制總線的內容,并發布寫信號,提示開始被選中讀數的模塊放棄對數據總線的控制權,以及被選中的存儲結果的模塊分析寫入類型,作好接收數據的準備,ALU在計算完成之后就將結果放到數據總線,等待下一個周期的C1開始將結果寫入相關位置;總之,本設計充分利用了數據總線的資源和流水設計的技巧,將本來需要6個時序的操作簡化為4個就完成了,時序緊湊,速度快;同時采用了分布式處理的思想,大大簡化了CPU控制模塊的功能,只發布控制信號,具體哪個模塊需要執行什么功能由該模塊自行根據控制信號來判斷,有利于避免由于局部功能太過集中而造成的芯片局部過熱的問題;

  3.2指令長度周期表的設計

  指令長度表主要是用來控制取指令,以及辨別指令代碼和指令參數;而指令周期表則主要是用來控制指令執行的時間,這兩個表可以簡化對指令執行的控制。一般這個過程由ROM模塊根據已經讀取的指令來查表,然后根據查表的結果和時序情況來處理分析,產生一系列控制信號,并發送給CPU控制模塊,這樣做的好處主要是避免CPU控制模塊與指令以及數據打交道,減少其輸入輸出端口數目;指令長度周期表的設計是和讀取方式息息相關的,本設計使用自己單獨構建的表,并且一分為二,處理方式是為:index={lsb_3, ir[7:4]},其中lsb_3的含義為:對于指令的低三位(ir(2 downto 0)) 規則為:8-F=》7,6-7=》6,0-5不變化。兩個表使用相同的讀取方式,這樣既可以簡化結構,將查找空間降低為7位,又可以提高查找速度;

  3.3 PC異動編碼的作用

  在單片機內部,PC是需要不停變化的,不僅所有的跳轉類指令都需要改變PC的內容,而且中斷類指令還需要完成PC的出棧以及入棧操作;因此,有些模型里面對PC的處理異常復雜,基本上是對每條指令詳細規定PC的變化;本設計在這方面的處理采用了編碼的技巧來提高速度;首先分析編碼的可能性,雖然很多指令可以改變PC的內容,但是對于PC來說,除了正常的加1操作,其它的變化方式只有如下幾種:

 

  PC變化編碼表

 

  其中pmem1和pmem2為指令參數,來自于ROM模塊;PC_OUT為堆棧中的PC內容。

  剩下的難題就是由誰來發出這個編碼,對于所有的跳轉類指令以及中斷類指令,每條指令的跳轉條件是不相同的,需要一一判斷,本設計就巧妙的利用了ALU模塊來處理這個編碼,ALU模塊計算的時候也是需要對操作進行判斷的,因此,只要添加一小段代碼就可以讓其完成發送編碼的功能;PC編碼的方式大大簡化了PC模塊的操作,使得程序更加規整;

  3.4 雙向P端口的模擬

  這里主要是P0和P2雙向端口的模擬;對于典型的單片機,其P端口一般都是雙向的,但是對于FPGA設計來說,以現在的芯片結構,在FPGA芯片里面實現真正的雙向是不可能的,因此,作為軟核來說,雙向的模擬就一定要處理好;常用的解決辦法有這么幾種:一種是直接將雙向端口改成兩個單向的端口,這樣對于軟核來說使用更加方便,本設計也提供了這種方式供選擇,但是這樣就與標準的單片機不相同了,因此,本設計也提供了一種模擬的雙向口,根據FPGA設計的特點,改變信號線的方向必須有個切換的過程,這樣就只好仔細的來分析指令時序,看看能不能在P端口使用的間隙來處理這個切換過程;首先是分析指令是否需要使用P端口,比較重要的控制信號有譯碼器發送的RD_LATCH信號,用來區分指令是否需要使用P端口,還有來自于CPU_CON的控制總線信息,用來告知P端口需要完成的具體功能;如果需要使用P端口的復用功能,則由相關的需要使用P端口的模塊(如串行口模塊)發送請求指令;然后P端口分析所有的使用請求,根據不同的使用方式來安排不同的使用情況;如果需要雙向切換,則根據時序以及指令特點來處理,從而順利完成雙向的切換過程。

 

  4 綜合與驗證

 

  使用Altera公司的Quartus II 4.2軟件來綜合,使用Nios Development Board,Cyclone Edit開發板來進行板上驗證;綜合結果如下:

 

  軟核綜合結果

 

  其中,前一個版本是沒有內部串行口的版本;時序仿真驗證的結果表明,在上述頻率下該系統可以穩定的工作;理論上換算成8051的主頻為:83*2.5=207.5M,這基本上可以適應絕大部分需要單片機控制的場合了;仿真測試主要使用了modelsim SE5.8以及quartus4.2的VWF文件測試;板上波形觀測主要使用Agilent公司的 1673G 邏輯分析儀;同時充分利用了開發板的資源進行了大量的系統級測試;將程序下載到芯片里面,使用邏輯分析觀測到部分指令的執行波形為:

  中斷指令波形圖

  圖3 中斷指令波形圖

 

  這是一條中斷返回指令的波形圖,指令代碼為32H,主要觀測PC的變化,PC在這條指令之后從3FH又變化為中斷發生前的地址25H。

  5 結束語

  本設計具有速度快,可裁減,具有良好的可重用性和可移植性,完全兼容DS80C320單片機接口,以及方便使用等優點。尤其是專門構造的內部框架以及時序分配,使得其高速性能在目前的51系列軟核里面基本上是最前列的。因此,可以很方便的應用于需要單片機軟核的FPGA設計以及嵌入式系統設計之中。

此內容為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>
          国产日韩精品久久久| 亚洲天堂av在线免费观看| 国产精品网站在线播放| 亚洲一区免费观看| 亚洲三级免费观看| 亚洲欧洲另类国产综合| 久久综合网络一区二区| 欧美精品在线网站| 欧美激情视频一区二区三区不卡| 国产美女精品免费电影| 久久亚裔精品欧美| 老妇喷水一区二区三区| 久久久久久尹人网香蕉| 欧美激情国产日韩精品一区18| 国产精品国产一区二区| 欧美日韩亚洲一区二区三区| 先锋a资源在线看亚洲| 男人天堂欧美日韩| 亚洲黄色一区| 亚洲深夜影院| 在线观看av一区| 欧美日韩视频第一区| 欧美日韩国产精品一区| 国产精品日韩久久久久| 欧美日韩免费视频| 亚洲第一区色| 欧美一区久久| 国产精品va| 狠狠色综合网站久久久久久久| 美玉足脚交一区二区三区图片| 亚洲免费高清| 欧美另类在线播放| 亚洲午夜91| 亚洲男女自偷自拍| 久久天堂国产精品| 国产精品国产三级国产专播品爱网| 1769国内精品视频在线播放| 亚洲在线日韩| 免费成人高清在线视频| 国产精品每日更新在线播放网址| 欧美 日韩 国产一区二区在线视频| 欧美午夜精品久久久久久人妖| 国产亚洲欧洲一区高清在线观看| 亚洲高清视频一区二区| 欧美日韩一区二区在线视频| 好吊成人免视频| 欧美国产综合一区二区| 精品电影一区| 久久久久久自在自线| 午夜精品一区二区三区在线播放| 久久精品噜噜噜成人av农村| 久久久久国产精品人| 久久成人精品| 久久精品夜色噜噜亚洲aⅴ| 激情综合激情| 亚洲在线一区| 狠狠色香婷婷久久亚洲精品| 国产三级欧美三级日产三级99| 亚洲人在线视频| 玖玖国产精品视频| 国产精品久久久久av| 亚洲韩国青草视频| 黄色成人在线网站| 久久精品国产亚洲高清剧情介绍| 亚洲黄色视屏| 欧美国产在线视频| 久久久国产精品一区二区中文| 日韩网站在线观看| 亚洲第一偷拍| 欧美一区激情| 影音先锋亚洲视频| 欧美一级电影久久| 国产亚洲欧洲一区高清在线观看| 亚洲精品极品| 91久久久久久| 久久成人国产精品| 一本久道综合久久精品| 国内精品视频在线观看| 亚洲一区日韩在线| 国产欧美日韩精品丝袜高跟鞋| 久久久久九九九| 久久成人久久爱| 久久狠狠久久综合桃花| 久久先锋影音av| 亚洲欧美日韩精品久久亚洲区| 久久免费视频网| 欧美午夜激情视频| 国产欧美精品va在线观看| 欧美伊人久久久久久久久影院| 欧美日韩日本视频| 99国产精品久久久久久久| 一区二区三区中文在线观看| 国内外成人免费激情在线视频网站| 亚洲国产成人精品视频| 国内久久婷婷综合| 欧美国产高清| 欧美福利视频在线观看| 黄色一区二区三区四区| 欧美a级片网站| 久久不射电影网| 久久成人这里只有精品| 欧美一区免费视频| 午夜精品影院在线观看| 在线观看中文字幕不卡| 老司机aⅴ在线精品导航| 欧美精品一区二| 一区二区三区 在线观看视| 国产欧美亚洲日本| 9久草视频在线视频精品| 欧美在线影院在线视频| 亚洲一区二区三区精品在线| 国产日韩精品久久久| 免费美女久久99| 国产伦精品一区二区三| 欧美寡妇偷汉性猛交| 亚洲综合99| 国产精品久久久久久久app| 欧美日产国产成人免费图片| 国产精品看片资源| 国产精品成人免费| 亚洲一区二区精品在线| 欧美激情久久久久| 久久久福利视频| 午夜精品福利一区二区蜜股av| 久久精品欧洲| 欧美阿v一级看视频| 亚洲精品美女在线| 久久免费99精品久久久久久| 亚洲精品影视在线观看| 国产亚洲a∨片在线观看| 亚洲一区视频在线观看视频| 性欧美精品高清| 国产综合激情| 一区二区三区视频在线播放| 一区二区三区四区五区视频| 国产精品蜜臀在线观看| 欧美日韩一级片在线观看| 99精品热视频只有精品10| 亚洲欧美三级伦理| 国产日韩欧美一区二区| 久久久高清一区二区三区| 久久精品1区| 国产精品丝袜91| 国产欧美精品久久| 国产精品―色哟哟| 欧美在线三区| 亚洲午夜成aⅴ人片| 久久久精品国产99久久精品芒果| 亚洲桃色在线一区| 国产色综合天天综合网| 亚洲在线中文字幕| 亚洲欧美日韩精品久久久久| 国产一区二区三区精品久久久| 亚洲欧洲综合另类在线| 久久本道综合色狠狠五月| 亚洲一区二区四区| 亚洲成人在线网站| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲国产毛片完整版| 久久久久久尹人网香蕉| 激情懂色av一区av二区av| 99re6热在线精品视频播放速度| 红桃视频欧美| 国产在线欧美| 亚洲一区国产视频| 麻豆精品在线播放| 国产精品二区在线观看| 欧美劲爆第一页| 国产欧美日韩亚洲一区二区三区| 亚洲一级二级在线| 米奇777超碰欧美日韩亚洲| 欧美日韩亚洲综合一区| 国产模特精品视频久久久久| 欧美精品一区二区蜜臀亚洲| 亚洲精品视频免费| 美女黄网久久| 久久中文精品| 在线亚洲观看| 在线观看一区视频| 激情视频一区| 国产精品久久久久久av下载红粉| 另类专区欧美制服同性| 一本大道久久a久久精二百| 欧美日韩伦理在线| 欧美午夜三级| 久久精品国产一区二区电影| 国产日韩精品一区二区三区在线| 亚洲剧情一区二区| 国产精品美女诱惑| 国产精品免费一区豆花| 久久三级福利| 国产午夜精品久久久久久久| 欧美好骚综合网| 久久精品国产一区二区三区免费看| 黄色亚洲大片免费在线观看| 在线观看视频一区二区| 久久人人爽国产| 性18欧美另类| 免费国产自线拍一欧美视频| 欧美成人精品不卡视频在线观看| 久久精品国产清自在天天线| 国产一区二区无遮挡| 欧美高清你懂得| 国产模特精品视频久久久久| 久久欧美肥婆一二区| 欧美日韩一区二区在线观看视频| 在线视频亚洲欧美| 欧美精品手机在线| 欧美日韩三级视频| 国产精品高清一区二区三区| 欧美日韩你懂的| 欧美一二三视频| 欧美日本国产在线| 亚洲精品一区二区在线观看| 欧美日韩视频在线观看一区二区三区| 久久久久青草大香线综合精品| 性欧美在线看片a免费观看| 国产精品av一区二区| 亚洲福利专区| 午夜视频在线观看一区| 国产精品一区二区三区观看| 1024精品一区二区三区| 在线精品一区二区| 久久久99久久精品女同性| 欧美一区二区三区电影在线观看| 亚洲免费观看视频| 一区二区三区在线免费观看| 国产精品一区二区黑丝| 久久久91精品国产一区二区三区| 亚洲美女在线观看| 午夜久久久久久久久久一区二区| 性感少妇一区| 国产精品porn| 欧美性视频网站| 国产一区二区三区自拍| 久久亚洲国产精品一区二区| 欧美激情按摩在线| 国产精品美女诱惑| 亚洲精品久久久一区二区三区| 开元免费观看欧美电视剧网站| 久久精品在线| 性做久久久久久免费观看欧美| 一本色道综合亚洲| 亚洲五月婷婷| 欧美精品一区二区三区高清aⅴ| 欧美亚洲三级| 国产酒店精品激情| 亚洲精品一区二区三区av| 亚洲人线精品午夜| 亚洲精品视频一区二区三区| 激情五月婷婷综合| 一区二区三区精品视频| 国产精品私人影院| 在线中文字幕日韩| 欧美精品电影在线| 国产精品欧美日韩久久| 亚洲午夜一二三区视频| 亚洲大片精品永久免费| 欧美一区二区三区在线视频| 一区二区三区高清| 亚洲人体大胆视频| 一本一道久久综合狠狠老精东影业| 欧美精品在线一区二区| 亚洲一区二区三区在线视频| 老牛国产精品一区的观看方式| 两个人的视频www国产精品| 欧美日韩国产片| 欧美精品激情在线观看| 欧美日韩国内自拍| 亚洲精品一区二区三区蜜桃久| 狠狠色香婷婷久久亚洲精品| 欧美视频在线观看| 老司机一区二区| 亚洲美女av在线播放| 欧美日韩精品一区二区在线播放| 一区二区三区回区在观看免费视频| 国产精品日韩欧美一区二区三区| 欧美日韩一卡二卡| 欧美视频一区二区三区四区| 亚洲午夜未删减在线观看| 久久免费精品日本久久中文字幕| 欧美日韩亚洲视频一区| 久久久精品国产一区二区三区| 亚洲小少妇裸体bbw| 国产一区二区三区四区在线观看| 欧美日韩系列| 国产在线高清精品| 免费人成网站在线观看欧美高清| 欧美激情国产日韩精品一区18| 99国产精品久久久久久久久久| 亚洲小说欧美另类婷婷| 久久久五月婷婷| 欧美一级视频| 亚洲欧洲综合另类| 国产欧美精品| 蜜乳av另类精品一区二区| 黄色成人91| 欧美一级播放| 国产精品久久久久久av福利软件| 欧美激情一区二区三区蜜桃视频| 欧美色视频在线| 狼人天天伊人久久| 国产免费一区二区三区香蕉精| 日韩一级精品视频在线观看| 亚洲欧美国产日韩天堂区| 久久精品亚洲精品国产欧美kt∨| 欧美视频专区一二在线观看| 亚洲制服少妇| 欧美日韩精品一区视频| 亚洲免费中文| 久久黄色小说| 亚洲欧洲日本一区二区三区| 国产精品夜色7777狼人| 中国日韩欧美久久久久久久久| 欧美四级在线观看| 国产欧美精品在线播放| 国产精品亚洲美女av网站| 国产精品成人v| 欧美国产丝袜视频| 亚洲人成免费| 宅男噜噜噜66一区二区| 久久理论片午夜琪琪电影网| 另类专区欧美制服同性| 久久一区二区三区四区五区| 国产精品午夜春色av| 久久er99精品| 亚洲日本va在线观看| 欧美一级精品大片|