《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 通用可編程接口IP核的設計與實現
通用可編程接口IP核的設計與實現
2015年電子技術應用第6期
胡小剛1,趙琳娜1,虞致國1,魏敬和2,顧曉峰1
1.江南大學 電子工程系 輕工過程先進控制教育部重點實驗室,江蘇 無錫214122; 2.中國電子科技集團公司第五十八研究所,江蘇 無錫214035
摘要: 為滿足SoC外設接口高帶寬、外部電路接口多樣性的要求,利用可編程狀態機和波形描述符存儲器,設計了一種通用可編程接口IP核。分別從接口硬件連接設計、固件程序設計、波形描述符設計和仿真平臺設計等方面對接口的設計流程進行了詳述。以8051 CPU核為基礎,利用所設計的接口IP核構建了仿真驗證環境,對接口IP核編程后實現了對外部存儲器的訪問,并通過比較寫出和讀入的數據驗證了設計的正確性。
中圖分類號: TP302.1
文獻標識碼: A
文章編號: 0258-7998(2015)06-0066-03
Design and implementation of a general programmable interface IP core
Hu Xiaogang1,Zhao Linna1,Yu Zhiguo1,Wei Jinghe2,Gu Xiaofeng1
1.Key Laboratory of Advanced Process Control for Light Industry(Ministry of Education),Department of Electronic Engineering, Jiangnan University,Wuxi 214122,China; 2.The 58th Research Institute of China Electronics Technology Group Corp,Wuxi 214035,China
Abstract: In order to meet the requirements of high bandwidth and the diversity of external interface of System-on-a-Chip(SoC), a general programmable interface IP core is designed by using the programmable state machine and waveform descriptor memory. The detailed design flow of the interface is described, including the designs of the interface hardware connection, the firmware design, the waveform descriptor and the simulation platform. Based on the 8051 CPU core, a verification simulation environment is built using the designed interface IP core. The interface IP core is tested and verified by comparing the data being written and read in the environment.
Key words : System-on-a-Chip;general programmable interface;IP core;data transmission

    

0 引言

    在現代數據通信與傳輸領域,系統芯片(System-on-a-Chip,SoC)與不同外設間的數據交換越來越頻繁,交換的數據量越來越大,而且不同外設采用的數據通信協議和接口形式也各不相同。SoC與外設間連接的要求越來越高,主要表現在:(1)高帶寬,要求通信傳輸速度越來越高;(2)通用性,要求接口具有對多種標準通信協議有一定的廣適性;(3)可再配置,要求通信系統具有用戶根據實際需要進行二次配置的特性。

    另一方面,外設接口往往采用一定的協議或標準,典型的有UART接口、IIC接口、SPI接口等。芯片實現時,通常將外設接口的邏輯功能固化在芯片內部,但由于芯片資源有限,不可能把所有的協議都集成在片上[1]。為了實現可編程的外設接口,傳統的方法是利用通用輸入輸出(General Purpose Input/Output,GPIO),通過編程方式設置GPIO寄存器的高/低電平,從而控制數據的讀寫和時鐘的生成。但是,GPIO模塊采用CPU內核直接控制,模擬外設接口的讀寫過程會占用大量CPU運行周期,影響系統中其他任務的實現,所以一般只用于低速協議或接口的實現[2]。

    本文針對SoC與外圍設備多種接口的連接問題,設計了一種通用可編程接口IP核,實現了SoC與外圍設備接口間的可編程特性,并以增強型8051內核為基礎構建了仿真驗證平臺,驗證了設計的正確性和有效性。

1 通用可編程接口IP的原理

    通用可編程接口的工作方式采用主控方式,可通過配置CPU實現對外設接口讀寫波形的編程,從而完成外設接口的讀寫。

    為了使數據在與外圍設備交換過程中不需要CPU的控制,利用通用可編程接口的高速帶寬設計了一套FIFO緩存架構,其工作機制使得數據以包的形式被提交到端點FIFO,而不是每次一個字節,并可設置多級緩存[3-4]

    通用可編程接口IP的本質是一個可編程狀態機,用戶通過編寫波形描述符控制狀態機。通用可編程接口可生成4個用戶定義波形描述符,每個波形描述符最多可定義7個狀態,這7個狀態通常情況下用于批量讀、批量寫、單字讀、單字寫。

2 通用可編程接口IP核設計

2.1 通用可編程接口IP架構

    通用可編程接口模塊的內部結構如圖1所示,主要由4個模塊組成。

ck4-t1.gif

    (1)端點控制模塊

    端點控制模塊(CONTROL)產生控制信號(CTL)控制外部設備,CTL信號可通過編程組合使用,實現復雜的邏輯功能;接收外部準備信號(RDY)觸發事件;接收/發送時鐘信號(IFCLK);輸出狀態信號(STATE),顯示狀態機目前工作狀態。時鐘信號可選內部產生或外部輸入,其他控制信號也可設置為高有效或低有效。

    (2)端點緩存模塊

    端點緩存模塊由4個相互重疊的FIFO端點緩存組成,存儲與外設通信過程中接收/發送的數據。其讀信號(RD)、寫信號(WR)、輸出使能信號(OE)及時鐘信號(CLK)控制數據總線(FD[15:0])的讀寫,并輸出空信號(EF)、滿信號(FF)。

    (3)波形存儲器模塊

    波形存儲器用于存儲用戶設計的波形描述符。通用可編程接口通過波形描述符控制數據的輸入輸出,最多可存儲4個波形描述符,分別為WF0、WF1、WF3、WF4。

    (4)地址生成模塊

    地址生成器(ADDR_GEN)用于輸出地址總線(GPIFADR[8:0]),由控制模塊控制。

2.2 波形描述符設計

    波形描述符是通用可編程接口的核心,用于描述數據傳輸的時序。通用可編程接口可以存儲4個波形描述符:(1)單字讀:從外設中讀取1字節/字的數據;(2)單字寫:向外設中寫入1字節/字的數據;(3)批量讀:從外設中讀取一個長數據流;(4)批量寫,往外設中寫入一個長數據流。這些描述符可以動態地配置給任何一個端點FIFO。配置后,通用可編程接口將依據波形描述符產生相應的控制邏輯和握手信號給外界接口,滿足向FIFO讀寫數據的需要。

    圖2為一種批量寫模式下的波形描述符狀態轉移圖。批量寫狀態機共定義了5個狀態,分別是IDLE、State1、State2、State3、State4,每個狀態的意義描述如下。

ck4-t2.gif

    (1)IDLE:當寫事件發生,轉移到State(1);

    (2)State1:將SRAM寫信號和使能信號置為有效(ck4-gs1.gif=0,ck4-gs2.gif=0),觸發寫事件,轉移到State(2);

    (3)State2:若外部SRAM模型的“滿”標志為真(FF=1),則停留在State(2),否則轉移到State(3);

    (4)State3:通用可編程接口采樣數據線,將內部端點FIFO數據寫入外部SRAM模型,轉移到State(4);

    (5)State4:如有更多數據需要傳輸,則轉移到State(2),否則轉移到步驟(1)。

2.3 端點FIFO緩存設計

    通用可編程接口內部包含4重端點FIFO緩存,對內部總線端來說,只要有1個FIFO為“半滿”,就可以繼續發送數據。當前操作的FIFO寫“滿”時,自動將其轉換到外部接口端,排隊等候讀??;并將隊列中下一個為“空”的FIFO轉移到SoC內部總線接口上,供其繼續寫數據。圖3為FIFO緩存架構的傳輸原理圖,此時通用可編程接口內部總線接口執行OUT傳輸,FIFO端點被設置為512 B四重緩存。

ck4-t3.gif

3 仿真平臺設計

    為驗證設計的接口IP核,構建了一個以8051 CPU為內核的SoC仿真平臺,利用設計的接口IP核訪問外部設備。為了充分利用通用可編程接口地址總線、數據總線及控制信號,外設采用SRAM芯片的Verilog模型,并加以改進,添加握手信號,使通用可編程接口能讀取該信號并控制數據傳輸。通過設計波形描述符,SoC控制接口IP向外部存儲器執行寫/讀操作,仿真平臺對兩次的數據進行比較并報告設計的正確性。

    該仿真平臺在Linux操作系統下開發,平臺系統結構如圖4所示。仿真器采用Synopsys公司的VCS仿真器。組成系統的各個模塊可以按照需要加入仿真環境中,仿真結果由環境產生、檢查并輸出到指定目錄結構下的文件中。

ck4-t4.gif

    仿真平臺包括Verilog編寫的Testbench、SoC模型、外部程序存儲器(EXT PROGRAM ROM)、SRAM Verilog模型。SRAM包括地址線(A8~A0)、數據線(I/O15~I/O0)、芯片使能(ck4-gs1.gif)、輸出使能(ck4-gs3.gif)、寫使能(ck4-gs2.gif)、握手信號E_RDY(“1”表示SRAM未寫入數據,“0”代表已寫入數據)、F_RDY(“1”表示SRAM存滿數據,“0”代表未滿)。

    仿真平臺工作時,由Testbench產生時鐘(CLK)和通用可編程接口IP時鐘(IFCLK)。

4 仿真結果分析

    通用可編程接口單字節寫的仿真結果如圖5所示,其中IFCLK為內部48 MHz時鐘,數據寬度為8 bit。當CTL3(ck4-gs1.gif)拉低時,外部SRAM有效;當CTL5 (ck4-gs2.gif)有效,且RDY1(F_RDY)為低時,數據(5A)被放入數據總線,并經數據總線寫入外部SRAM。狀態總線STATE(PE[2:0])顯示通用可編程接口引擎在每一操作期間循環經過的狀態。

ck4-t5.gif

    通用可編程接口單字讀模式與單字寫模式類似,仿真結果如圖6所示。

ck4-t6.gif

    圖7為通用可編程接口批量寫傳輸的仿真結果,數據寬度為16 bit。當ck4-gs1.gif、ck4-gs2.gif被拉低,且F_RDY為低時,接口開始執行批量寫程序,從內部的FIFO緩存向外部SRAM寫入512 B(00-FF,FF-00)。

ck4-t7.gif

    通用可編程接口批量讀傳輸的仿真結果與批量寫類似,仿真結果如圖8所示。

ck4-t8.gif

    由上述仿真波形可看出,通用可編程接口讀寫數據時,時鐘周期為20.8 ns,數據總線寬度為16 bit,對應數據傳輸速率為96 Mb/s。相比之下,UART的傳輸速率為1.5 Mb/s,IIC總線為400 Kb/s~3.4 Mb/s,SPI總線為18 Mb/s,GPIO總線的傳輸速率最高為50 Mb/s[5]??梢?,通用可編程接口的傳輸速率最快,更適合當前大容量存儲器之間的數據傳輸要求。

5 結束語

    本方案實現了通用可編程接口與外圍設備接口連接的可配性,并通過設計驗證了該方案的可行性與準確性。在數據傳輸過程中,通用可編程接口無需CPU的干預,只需對其進行正確設置就可以正常工作。通用可編程接口的強大功能使其不僅可以與外部SRAM連接,還可以與更復雜的接口(例如ATA接口)實現無縫連接,加快了產品的開發速度,降低了開發成本和提高了產品的可靠性。

參考文獻

[1] 王占領,張登福,李云杰,等.便攜式ARINC429總線通信接口的設計與實現[J].微電子學與計算機,2013,30(7):133-136.

[2] HASAMNIS M A,LIMAYE S S.Custom hardware interface using NIOS II processor through GPIO[C].The 7th Conference on Industrial Electronics and Applications(ICIEA′12).Singapore,2012:1381-1385.

[3] 劉志華,郭付才,彭新偉,等.基于CY7C68013A的FPGA配置和通信接口設計[J].電子技術應用,2013,39(2):18-21.

[4] 趙林,孟令軍,于磊,等.基于CY7C68013A的USB2.0高速接口設計[J].電子技術應用,2014,40(1):131-133.

[5] STMicroelectronics.RM0008 Reference manual[EB/OL].http://www.st.com/,2014.

此內容為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>
          欧美福利视频在线观看| 99精品欧美| 一本色道久久综合狠狠躁的推荐| 红桃av永久久久| 韩国av一区二区三区| 欧美成人精品高清在线播放| 国产字幕视频一区二区| 欧美一区二区高清在线观看| 亚洲一级片在线观看| 久久久精品一区二区三区| 伊人久久男人天堂| 中国成人亚色综合网站| 这里只有视频精品| 亚洲影院免费| 国产精品高清免费在线观看| 亚洲精选在线观看| 巨胸喷奶水www久久久免费动漫| 亚洲国产精品一区制服丝袜| 久久久久久久久久久久久9999| 99国产精品99久久久久久粉嫩| 欧美在线综合视频| 久久精品动漫| 亚洲欧美日韩精品一区二区| 性欧美videos另类喷潮| 国产精品99久久久久久有的能看| 免费观看日韩av| 亚洲精品一区二区三区av| 久久疯狂做爰流白浆xx| 国产色视频一区| 最新69国产成人精品视频免费| 亚洲一区日本| 久久精品国产视频| 亚洲人成亚洲人成在线观看| 免费观看国产成人| 欧美专区日韩专区| 国产自产在线视频一区| 久久丁香综合五月国产三级网站| 欧美综合国产| 中文亚洲字幕| 久久久久.com| 欧美日韩视频在线一区二区观看视频| 久久艳片www.17c.com| 在线欧美福利| 老鸭窝亚洲一区二区三区| 欧美丝袜第一区| 亚洲欧美综合精品久久成人| 久久久99精品免费观看不卡| 嫩草伊人久久精品少妇av杨幂| 狠狠色综合日日| 91久久精品国产91性色| 老司机一区二区| 国产欧美韩日| 国产精品高潮在线| 亚洲激情一区二区三区| 今天的高清视频免费播放成人| 欧美性大战久久久久| 欧美一区二区三区在| 欧美日韩三区四区| 美女免费视频一区| 国产欧美va欧美不卡在线| 亚洲午夜一区二区| 国产欧美日韩亚州综合| 99精品免费视频| 尤物在线观看一区| av成人免费| 在线观看日韩欧美| 蜜桃av一区二区在线观看| 麻豆九一精品爱看视频在线观看免费| 欧美高清一区二区| 国产精品久久久久久久久久久久| 精品成人国产| 久久国产精品亚洲77777| 亚洲欧洲在线播放| 国产精品免费一区二区三区在线观看| 国产亚洲日本欧美韩国| 久久久国产精彩视频美女艺术照福利| 亚洲精品一线二线三线无人区| 亚洲黄色成人久久久| 一区二区三区在线免费视频| 久久国产精品久久久| 久久国产精彩视频| 久久一区二区视频| 亚洲摸下面视频| 欧美日韩精品一二三区| 欧美伦理影院| 欧美视频在线一区二区三区| 欧美精品在线一区二区三区| 亚欧美中日韩视频| 亚洲激情中文1区| 亚洲精品一区二区网址| 国产一区成人| 国产一本一道久久香蕉| 久久精品视频va| 国产精品成人aaaaa网站| 亚洲欧美卡通另类91av| 亚洲日本乱码在线观看| 国产精品视屏| 亚洲电影视频在线| 国外成人在线视频| 欧美日韩三级视频| 久久久国产精彩视频美女艺术照福利| 欧美一区二区私人影院日本| 另类欧美日韩国产在线| 国产午夜亚洲精品羞羞网站| 欧美成人精品一区| 久久精品国语| 欧美日韩伦理在线| 亚洲免费人成在线视频观看| 久久性色av| 在线视频国内自拍亚洲视频| 国产午夜精品理论片a级大结局| 一区二区三区不卡视频在线观看| 国产精品中文字幕在线观看| 国产美女一区| 国产精品乱子久久久久| 国产一区二区精品久久91| 一本色道**综合亚洲精品蜜桃冫| 激情久久综艺| 亚洲精品乱码久久久久久按摩观| 精品99视频| 99re8这里有精品热视频免费| 亚洲永久网站| 欧美日本簧片| 国产自产精品| 国产日韩欧美精品综合| 亚洲午夜视频在线| 欧美亚洲成人免费| 国内综合精品午夜久久资源| 久久久国产一区二区| 欧美激情精品久久久久久| 亚洲欧洲综合另类| 欧美日韩mp4| 国产精品爽黄69| 久久精品久久99精品久久| 可以免费看不卡的av网站| 久久精彩免费视频| 中文网丁香综合网| 亚洲福利视频免费观看| 国产精品午夜av在线| 国产精品免费一区二区三区在线观看| 国产在线精品一区二区夜色| 黄色工厂这里只有精品| 99热免费精品| 国产日韩一区| 女生裸体视频一区二区三区| 在线观看中文字幕亚洲| 国产日产精品一区二区三区四区的观看方式| 亚洲国产成人精品视频| 国产亚洲欧美另类中文| 在线观看91久久久久久| 国产精品大片| 亚洲二区在线观看| 亚洲欧洲一区二区天堂久久| 久久精品国产99国产精品澳门| 欧美aaaaaaaa牛牛影院| 欧美一区永久视频免费观看| 欧美专区一区二区三区| 欧美在线播放高清精品| 久久久精品免费视频| 国产一区日韩二区欧美三区| 久久久久久亚洲综合影院红桃| 亚洲欧美国产三级| 麻豆成人在线观看| 一区二区三区你懂的| 一本色道久久综合亚洲精品按摩| 亚洲第一天堂无码专区| 国产欧美日韩| 久久躁狠狠躁夜夜爽| 久久精品国产一区二区三区免费看| 精品不卡视频| 亚洲欧美色婷婷| 欧美高清视频免费观看| 黄色国产精品一区二区三区| 欧美伊久线香蕉线新在线| 国产亚洲精品久久久久久| 在线亚洲免费视频| 欧美性一区二区| 免费91麻豆精品国产自产在线观看| 国产欧美精品一区二区色综合| 亚洲午夜久久久| 国产一区二区日韩精品欧美精品| 亚洲欧美日本国产专区一区| 久久免费高清| 亚洲激情偷拍| 欧美日韩福利视频| 国产精品青草久久久久福利99| 欧美一二区视频| 欧美激情亚洲综合一区| 欧美激情女人20p| 国产精品久久久久aaaa九色| 久久影视精品| 久久资源av| 亚洲欧洲精品一区二区三区| 欧美日韩1区2区| 亚洲在线观看免费视频| 国产精品国产三级国产aⅴ9色| 国产精品久久一级| 欧美日韩一区二区在线| 国产在线精品自拍| 欧美一区二视频在线免费观看| 在线日韩电影| 美女久久一区| 亚洲性图久久| 美女主播一区| 亚洲一区二区在线免费观看| 亚洲欧美久久久| 国产一区二区三区在线观看免费| 久久国产精品久久精品国产| 一区精品在线播放| 国内免费精品永久在线视频| 欧美国产日韩一区| 欧美日韩三级电影在线| 国户精品久久久久久久久久久不卡| 免费欧美日韩国产三级电影| 欧美a级片一区| 国产精品福利网站| 午夜精品久久久久久久久| 99精品视频免费在线观看| 国产无遮挡一区二区三区毛片日本| 亚洲黄色尤物视频| 亚洲成人在线观看视频| 国产精品日本欧美一区二区三区| 久久午夜国产精品| 六月天综合网| 欧美日韩999| 欧美成人精品| 欧美大色视频| 亚洲自拍偷拍福利| 欧美成人午夜剧场免费观看| 亚洲国产激情| 欧美不卡激情三级在线观看| 久久综合久久综合九色| 性欧美长视频| 欧美亚洲网站| 欧美电影在线| 欧美精品高清视频| 欧美精品国产一区| 国产日韩欧美精品| 国产视频精品网| 国产亚洲精品bt天堂精选| 国产精品成人观看视频免费| 在线观看精品一区| 国产亚洲欧美日韩精品| 国模精品一区二区三区| 欧美中文字幕在线观看| 亚洲欧洲综合| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲精品一区在线| 欧美激情一区二区三区蜜桃视频| 欧美一级片一区| 国产精品视频xxxx| 美女被久久久| 亚洲日本无吗高清不卡| 亚洲欧美伊人| 欧美日本一区二区三区| 欧美在线3区| 国产精品视频免费| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品欧美久久| 夜色激情一区二区| 久久av资源网站| 男人天堂欧美日韩| 国产精品专区h在线观看| 久久免费视频一区| 99国产精品视频免费观看| 欧美国产视频在线观看| 欧美性天天影院| 国语自产精品视频在线看抢先版结局| 久久精品国产在热久久| 国内精品久久久久伊人av| 欧美激情一区二区三区在线| 欧美一级日韩一级| 国产精品极品美女粉嫩高清在线| 久久免费黄色| 久久久五月婷婷| 亚洲欧洲日本专区| 欧美在线短视频| 国产三区精品| 一本久久a久久精品亚洲| 久久这里只有精品视频首页| 99精品视频一区| 在线精品一区二区| 国产精品美女主播| 亚洲综合精品一区二区| 亚洲在线视频免费观看| 欧美日韩精品不卡| 国产精品女人久久久久久| 99www免费人成精品| 精品动漫3d一区二区三区免费版| 韩国一区二区三区美女美女秀| 国产精品一区二区在线观看| 亚洲精品一区二区三区四区高清| 欧美jizzhd精品欧美喷水| 亚洲影视综合| 中文久久乱码一区二区| 国产精品视频免费在线观看| 久久综合色天天久久综合图片| 亚洲欧美成aⅴ人在线观看| 亚洲欧美在线一区| 欧美三级乱人伦电影| 亚洲尤物在线| 亚洲第一黄色网| 欧美色图一区二区三区| 国产精品久久久久77777| 欧美日韩小视频| 精品成人一区二区| 久久综合伊人77777麻豆| 日韩亚洲在线观看| 国产精品系列在线播放| 性感少妇一区| 亚洲国产一区视频| 国内精品视频一区| 欧美在线视频一区二区三区| 欧美了一区在线观看| 亚洲国产精品高清久久久| 久久www免费人成看片高清| 欧美精品在线看| 亚洲一区一卡| 久久九九国产精品| 国产精品毛片在线| 国产午夜精品麻豆| 国产精品美女久久久久久2018| 国产精品99免费看| 亚洲国产一区在线观看| 欧美色123| 欧美特黄a级高清免费大片a级| 欧美无砖砖区免费| 亚洲精品日韩激情在线电影|