《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 通用可編程接口IP核的設(shè)計(jì)與實(shí)現(xiàn)
通用可編程接口IP核的設(shè)計(jì)與實(shí)現(xiàn)
2015年電子技術(shù)應(yīng)用第6期
胡小剛1,趙琳娜1,虞致國(guó)1,魏敬和2,顧曉峰1
1.江南大學(xué) 電子工程系 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫214122; 2.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇 無(wú)錫214035
摘要: 為滿足SoC外設(shè)接口高帶寬、外部電路接口多樣性的要求,利用可編程狀態(tài)機(jī)和波形描述符存儲(chǔ)器,設(shè)計(jì)了一種通用可編程接口IP核。分別從接口硬件連接設(shè)計(jì)、固件程序設(shè)計(jì)、波形描述符設(shè)計(jì)和仿真平臺(tái)設(shè)計(jì)等方面對(duì)接口的設(shè)計(jì)流程進(jìn)行了詳述。以8051 CPU核為基礎(chǔ),利用所設(shè)計(jì)的接口IP核構(gòu)建了仿真驗(yàn)證環(huán)境,對(duì)接口IP核編程后實(shí)現(xiàn)了對(duì)外部存儲(chǔ)器的訪問(wèn),并通過(guò)比較寫出和讀入的數(shù)據(jù)驗(yàn)證了設(shè)計(jì)的正確性。
中圖分類號(hào): TP302.1
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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 引言

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

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

    本文針對(duì)SoC與外圍設(shè)備多種接口的連接問(wèn)題,設(shè)計(jì)了一種通用可編程接口IP核,實(shí)現(xiàn)了SoC與外圍設(shè)備接口間的可編程特性,并以增強(qiáng)型8051內(nèi)核為基礎(chǔ)構(gòu)建了仿真驗(yàn)證平臺(tái),驗(yàn)證了設(shè)計(jì)的正確性和有效性。

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

    通用可編程接口的工作方式采用主控方式,可通過(guò)配置CPU實(shí)現(xiàn)對(duì)外設(shè)接口讀寫波形的編程,從而完成外設(shè)接口的讀寫。

    為了使數(shù)據(jù)在與外圍設(shè)備交換過(guò)程中不需要CPU的控制,利用通用可編程接口的高速帶寬設(shè)計(jì)了一套FIFO緩存架構(gòu),其工作機(jī)制使得數(shù)據(jù)以包的形式被提交到端點(diǎn)FIFO,而不是每次一個(gè)字節(jié),并可設(shè)置多級(jí)緩存[3-4]。

    通用可編程接口IP的本質(zhì)是一個(gè)可編程狀態(tài)機(jī),用戶通過(guò)編寫波形描述符控制狀態(tài)機(jī)。通用可編程接口可生成4個(gè)用戶定義波形描述符,每個(gè)波形描述符最多可定義7個(gè)狀態(tài),這7個(gè)狀態(tài)通常情況下用于批量讀、批量寫、單字讀、單字寫。

2 通用可編程接口IP核設(shè)計(jì)

2.1 通用可編程接口IP架構(gòu)

    通用可編程接口模塊的內(nèi)部結(jié)構(gòu)如圖1所示,主要由4個(gè)模塊組成。

ck4-t1.gif

    (1)端點(diǎn)控制模塊

    端點(diǎn)控制模塊(CONTROL)產(chǎn)生控制信號(hào)(CTL)控制外部設(shè)備,CTL信號(hào)可通過(guò)編程組合使用,實(shí)現(xiàn)復(fù)雜的邏輯功能;接收外部準(zhǔn)備信號(hào)(RDY)觸發(fā)事件;接收/發(fā)送時(shí)鐘信號(hào)(IFCLK);輸出狀態(tài)信號(hào)(STATE),顯示狀態(tài)機(jī)目前工作狀態(tài)。時(shí)鐘信號(hào)可選內(nèi)部產(chǎn)生或外部輸入,其他控制信號(hào)也可設(shè)置為高有效或低有效。

    (2)端點(diǎn)緩存模塊

    端點(diǎn)緩存模塊由4個(gè)相互重疊的FIFO端點(diǎn)緩存組成,存儲(chǔ)與外設(shè)通信過(guò)程中接收/發(fā)送的數(shù)據(jù)。其讀信號(hào)(RD)、寫信號(hào)(WR)、輸出使能信號(hào)(OE)及時(shí)鐘信號(hào)(CLK)控制數(shù)據(jù)總線(FD[15:0])的讀寫,并輸出空信號(hào)(EF)、滿信號(hào)(FF)。

    (3)波形存儲(chǔ)器模塊

    波形存儲(chǔ)器用于存儲(chǔ)用戶設(shè)計(jì)的波形描述符。通用可編程接口通過(guò)波形描述符控制數(shù)據(jù)的輸入輸出,最多可存儲(chǔ)4個(gè)波形描述符,分別為WF0、WF1、WF3、WF4。

    (4)地址生成模塊

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

2.2 波形描述符設(shè)計(jì)

    波形描述符是通用可編程接口的核心,用于描述數(shù)據(jù)傳輸的時(shí)序。通用可編程接口可以存儲(chǔ)4個(gè)波形描述符:(1)單字讀:從外設(shè)中讀取1字節(jié)/字的數(shù)據(jù);(2)單字寫:向外設(shè)中寫入1字節(jié)/字的數(shù)據(jù);(3)批量讀:從外設(shè)中讀取一個(gè)長(zhǎng)數(shù)據(jù)流;(4)批量寫,往外設(shè)中寫入一個(gè)長(zhǎng)數(shù)據(jù)流。這些描述符可以動(dòng)態(tài)地配置給任何一個(gè)端點(diǎn)FIFO。配置后,通用可編程接口將依據(jù)波形描述符產(chǎn)生相應(yīng)的控制邏輯和握手信號(hào)給外界接口,滿足向FIFO讀寫數(shù)據(jù)的需要。

    圖2為一種批量寫模式下的波形描述符狀態(tài)轉(zhuǎn)移圖。批量寫狀態(tài)機(jī)共定義了5個(gè)狀態(tài),分別是IDLE、State1、State2、State3、State4,每個(gè)狀態(tài)的意義描述如下。

ck4-t2.gif

    (1)IDLE:當(dāng)寫事件發(fā)生,轉(zhuǎn)移到State(1);

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

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

    (4)State3:通用可編程接口采樣數(shù)據(jù)線,將內(nèi)部端點(diǎn)FIFO數(shù)據(jù)寫入外部SRAM模型,轉(zhuǎn)移到State(4);

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

2.3 端點(diǎn)FIFO緩存設(shè)計(jì)

    通用可編程接口內(nèi)部包含4重端點(diǎn)FIFO緩存,對(duì)內(nèi)部總線端來(lái)說(shuō),只要有1個(gè)FIFO為“半滿”,就可以繼續(xù)發(fā)送數(shù)據(jù)。當(dāng)前操作的FIFO寫“滿”時(shí),自動(dòng)將其轉(zhuǎn)換到外部接口端,排隊(duì)等候讀取;并將隊(duì)列中下一個(gè)為“空”的FIFO轉(zhuǎn)移到SoC內(nèi)部總線接口上,供其繼續(xù)寫數(shù)據(jù)。圖3為FIFO緩存架構(gòu)的傳輸原理圖,此時(shí)通用可編程接口內(nèi)部總線接口執(zhí)行OUT傳輸,F(xiàn)IFO端點(diǎn)被設(shè)置為512 B四重緩存。

ck4-t3.gif

3 仿真平臺(tái)設(shè)計(jì)

    為驗(yàn)證設(shè)計(jì)的接口IP核,構(gòu)建了一個(gè)以8051 CPU為內(nèi)核的SoC仿真平臺(tái),利用設(shè)計(jì)的接口IP核訪問(wèn)外部設(shè)備。為了充分利用通用可編程接口地址總線、數(shù)據(jù)總線及控制信號(hào),外設(shè)采用SRAM芯片的Verilog模型,并加以改進(jìn),添加握手信號(hào),使通用可編程接口能讀取該信號(hào)并控制數(shù)據(jù)傳輸。通過(guò)設(shè)計(jì)波形描述符,SoC控制接口IP向外部存儲(chǔ)器執(zhí)行寫/讀操作,仿真平臺(tái)對(duì)兩次的數(shù)據(jù)進(jìn)行比較并報(bào)告設(shè)計(jì)的正確性。

    該仿真平臺(tái)在Linux操作系統(tǒng)下開發(fā),平臺(tái)系統(tǒng)結(jié)構(gòu)如圖4所示。仿真器采用Synopsys公司的VCS仿真器。組成系統(tǒng)的各個(gè)模塊可以按照需要加入仿真環(huán)境中,仿真結(jié)果由環(huán)境產(chǎn)生、檢查并輸出到指定目錄結(jié)構(gòu)下的文件中。

ck4-t4.gif

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

    仿真平臺(tái)工作時(shí),由Testbench產(chǎn)生時(shí)鐘(CLK)和通用可編程接口IP時(shí)鐘(IFCLK)。

4 仿真結(jié)果分析

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

ck4-t5.gif

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

ck4-t6.gif

    圖7為通用可編程接口批量寫傳輸?shù)姆抡娼Y(jié)果,數(shù)據(jù)寬度為16 bit。當(dāng)ck4-gs1.gif、ck4-gs2.gif被拉低,且F_RDY為低時(shí),接口開始執(zhí)行批量寫程序,從內(nèi)部的FIFO緩存向外部SRAM寫入512 B(00-FF,F(xiàn)F-00)。

ck4-t7.gif

    通用可編程接口批量讀傳輸?shù)姆抡娼Y(jié)果與批量寫類似,仿真結(jié)果如圖8所示。

ck4-t8.gif

    由上述仿真波形可看出,通用可編程接口讀寫數(shù)據(jù)時(shí),時(shí)鐘周期為20.8 ns,數(shù)據(jù)總線寬度為16 bit,對(duì)應(yīng)數(shù)據(jù)傳輸速率為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]??梢?,通用可編程接口的傳輸速率最快,更適合當(dāng)前大容量存儲(chǔ)器之間的數(shù)據(jù)傳輸要求。

5 結(jié)束語(yǔ)

    本方案實(shí)現(xiàn)了通用可編程接口與外圍設(shè)備接口連接的可配性,并通過(guò)設(shè)計(jì)驗(yàn)證了該方案的可行性與準(zhǔn)確性。在數(shù)據(jù)傳輸過(guò)程中,通用可編程接口無(wú)需CPU的干預(yù),只需對(duì)其進(jìn)行正確設(shè)置就可以正常工作。通用可編程接口的強(qiáng)大功能使其不僅可以與外部SRAM連接,還可以與更復(fù)雜的接口(例如ATA接口)實(shí)現(xiàn)無(wú)縫連接,加快了產(chǎn)品的開發(fā)速度,降低了開發(fā)成本和提高了產(chǎn)品的可靠性。

參考文獻(xiàn)

[1] 王占領(lǐng),張登福,李云杰,等.便攜式ARINC429總線通信接口的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(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配置和通信接口設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(2):18-21.

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99精品欧美一区二区三区综合在线| 性色av一区二区三区| 亚洲欧美成人一区二区三区| 亚洲精品在线观看免费| 伊人一区二区三区久久精品| 国产丝袜一区二区| 国产女主播视频一区二区| 国产精品久久久久免费a∨| 欧美日韩精品久久久| 欧美激情中文字幕一区二区| 欧美第一黄色网| 欧美黄色一区二区| 欧美精品在线网站| 欧美精品自拍| 欧美日韩综合视频网址| 欧美日韩不卡合集视频| 欧美日韩伦理在线免费| 欧美色视频一区| 欧美图区在线视频| 国产精品欧美日韩久久| 国产精品最新自拍| 国产一区二区三区观看 | 欧美精品一区二区三| 农村妇女精品| 欧美激情在线有限公司| 欧美日韩久久不卡| 国产精品久久久久久久久久ktv| 国产精品日韩一区| 国产精品人人做人人爽人人添| 国产精品色午夜在线观看| 国产日韩欧美成人| 激情校园亚洲| 亚洲精品美女久久久久| 亚洲视频在线观看视频| 亚洲主播在线| 久久精品女人| 亚洲美女少妇无套啪啪呻吟| 亚洲先锋成人| 久久九九国产精品| 欧美成人亚洲| 国产精品国产三级国产 | 国内一区二区三区在线视频| 在线日本成人| 99这里只有精品| 校园春色国产精品| 亚洲激情欧美| 亚洲综合色婷婷| 久久久精品性| 欧美精品在线免费播放| 国产精品一区二区久久久久| 精东粉嫩av免费一区二区三区| 亚洲青涩在线| 午夜精品视频在线观看| 91久久嫩草影院一区二区| 一区二区三区 在线观看视频| 午夜国产精品影院在线观看| 久久综合久久88| 欧美日韩无遮挡| 国产区亚洲区欧美区| 亚洲大胆在线| 亚洲在线国产日韩欧美| 亚洲国产日韩欧美在线99| 亚洲网站啪啪| 猫咪成人在线观看| 国产精品欧美日韩久久| 亚洲国产精品福利| 午夜精品久久久久久久久久久久久| 91久久精品视频| 亚洲欧美日韩人成在线播放| 免费成人毛片| 国产欧美一区二区精品仙草咪| 亚洲国产专区| 欧美伊久线香蕉线新在线| 国产精品人人爽人人做我的可爱| 午夜精品网站| 99国产一区二区三精品乱码| 久久riav二区三区| 欧美另类一区| 黄色日韩网站视频| 亚洲欧美国产高清va在线播| 99精品免费| 女女同性精品视频| 国内精品久久久久影院薰衣草| 99国产一区| 亚洲精品女av网站| 久久蜜桃香蕉精品一区二区三区| 欧美日韩一区二区在线| 又紧又大又爽精品一区二区| 午夜精品一区二区三区在线视| 一区二区动漫| 欧美国产视频日韩| 韩日精品视频一区| 亚洲小视频在线观看| 99视频精品全部免费在线| 久久伊伊香蕉| 国内精品久久久久伊人av| 亚洲欧美国产高清| 亚洲欧美文学| 欧美三级电影一区| 亚洲精品在线视频观看| 亚洲国产小视频在线观看| 久久精品视频播放| 国产精品亚发布| 这里只有精品视频| 在线亚洲欧美| 欧美激情一区二区三区四区| 在线电影一区| 亚洲国产另类精品专区| 久久久www成人免费精品| 国产欧美综合在线| 午夜精品久久久久久久99水蜜桃 | 国产精品福利av| 一片黄亚洲嫩模| 一区二区三区欧美日韩| 欧美激情一区二区三区在线视频| 亚洲第一精品久久忘忧草社区| 久久国产精品99精品国产| 久久久999精品| 国产一区二区三区在线免费观看| 午夜精品久久久99热福利| 欧美中文字幕第一页| 国产日产欧美一区| 欧美亚洲一级| 久久久久国产精品一区二区| 国产原创一区二区| 久久精品国产清高在天天线| 久久视频在线看| 精品96久久久久久中文字幕无| 亚洲第一在线视频| 欧美www视频在线观看| 国产精品久久久久久久久免费 | 国产一区二区三区精品欧美日韩一区二区三区| 亚洲一品av免费观看| 午夜激情久久久| 国产三级精品在线不卡| 欧美一级淫片播放口| 久久久久久色| 影音欧美亚洲| 一本久久综合亚洲鲁鲁五月天 | 国产美女精品免费电影| 欧美一进一出视频| 久久影院午夜论| 亚洲黄色三级| 亚洲一区二区三区在线视频| 国产精品一区视频网站| 久久爱另类一区二区小说| 男女激情视频一区| 亚洲最黄网站| 欧美一区国产二区| 在线播放日韩| 中国成人在线视频| 国产精品自拍在线| 亚洲激情在线视频| 欧美日本一道本在线视频| 夜夜嗨av一区二区三区四区| 久久av最新网址| 亚洲成人在线视频播放| 中文成人激情娱乐网| 国产乱人伦精品一区二区| 亚洲激情女人| 国产精品久久| 亚洲国产视频直播| 欧美午夜无遮挡| 久久国产直播| 欧美视频免费在线| 欧美一区二区三区啪啪| 欧美激情片在线观看| 亚洲综合大片69999| 麻豆精品一区二区综合av| 在线视频欧美一区| 久久一二三国产| 亚洲图片欧美一区| 蜜臀av在线播放一区二区三区| 一区二区三区日韩欧美| 久久婷婷影院| 亚洲少妇在线| 欧美成人免费全部| 午夜一区不卡| 欧美日韩在线视频观看| 久久精品国产亚洲精品| 欧美午夜视频| 亚洲人人精品| 国产麻豆日韩欧美久久| 亚洲免费不卡| 精品福利av| 欧美伊人久久大香线蕉综合69| 亚洲精品欧美| 麻豆精品国产91久久久久久| 国产精品白丝jk黑袜喷水| 欧美成人第一页| 亚洲日本电影| 久久久99免费视频| 一区二区三区免费在线观看| 欧美1区2区3区| 欧美一区日本一区韩国一区| 欧美特黄一级| 亚洲人成在线观看| 国内久久视频| 久久国产88| 亚洲午夜精品网|