• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      ADSP?。裕樱玻埃辨溌房谕ㄐ诺模疲校牵翆?shí)現(xiàn)

      2009-03-19 01:59:12魏云斐張遂南
      現(xiàn)代電子技術(shù) 2009年3期

      魏云斐 張遂南

      摘 要:AD公司的TS201 DSP系列可通過(guò)其特有的鏈路口實(shí)現(xiàn)高速通信,為使不具備此接口的設(shè)備也能與TS201進(jìn)行鏈路通訊,采用 FPGA實(shí)現(xiàn)數(shù)據(jù)在鏈路口與其他并行接口之間的傳輸,即 128位并行模式和4位通信模式之間的轉(zhuǎn)換。設(shè)計(jì)選用Xilinx公司的Virtex4系列的FPGA,它具有低功耗差分(LVDS)模式,雙倍數(shù)據(jù)速率(DDR)寄存器以及嵌入式先進(jìn)先出(FIFO)存儲(chǔ)器等功能,更適合于此設(shè)計(jì)。在ISE 和Modelsim等輔助工具的幫助下,使用VHDL語(yǔ)言編程,分析和優(yōu)化整個(gè)設(shè)計(jì),最終完成設(shè)計(jì)??蓪?shí)現(xiàn)接收鏈路時(shí)鐘頻率為500 MHz,發(fā)送鏈路時(shí)鐘頻率為400 MHz。

      關(guān)鍵詞:鏈路口;低功耗差分;雙倍數(shù)據(jù)速率;FPGA;VHDL

      中圖分類號(hào):TN919文獻(xiàn)標(biāo)識(shí)碼:B

      文章編號(hào):1004-373X(2009)03-167-04

      Implementation of ADSP TS201 Link Port Communication on FPGA

      WEI Yunfei,ZHANG Suinan

      (Xi′an Micro-electronics Technology Institute,Xi′an,710075,China)

      Abstract:Through AD′s TS201 DSP series special high speed link ports communication,to enable the equipments which doesn′t has the interface to link with TS201 communication,the transmission of data between link ports and other parallel interfaces is realized by FPGA,that is,the conversion between 128 b and 4 b Xilinx Virtex4 grade -12 series FPGA is chosen,it contains a Low-power Differential (LVDS) model,Double Data Rate (DDR) register,embedded FIFO memory and other functions.In the ISE and Modelsim′s help,using VHDL language program,the entire design is analysed and optimized.It can get a receiving clock frequency about 500 MHz,a transmitting clock frequency about 400 MHz.

      Keywords:link port;LVDS;DDR;FPGA;VHDL

      0 引 言

      隨著電子技術(shù)的飛速發(fā)展,在實(shí)際應(yīng)用中數(shù)據(jù)高速傳輸有著越來(lái)越高的要求,鏈路口為數(shù)據(jù)傳送提供了高速、獨(dú)立的通信機(jī)制,得到廣泛應(yīng)用。AD公司生產(chǎn)的TS201 DSP就具備這種端口。為了使不具備此接口的器件同樣也能通過(guò)鏈路口與TS201進(jìn)行高速通信,引入FPGA進(jìn)行設(shè)計(jì)。

      FPGA器件因其集成度高、功能強(qiáng)大、現(xiàn)場(chǎng)可編程等優(yōu)點(diǎn)被廣泛應(yīng)用于各種場(chǎng)合。通過(guò)在FPGA上參照鏈路口通信協(xié)議編寫VHDL程序,完成數(shù)據(jù)傳送方式的轉(zhuǎn)換,實(shí)現(xiàn)此接口與其他設(shè)備通信,以滿足系統(tǒng)的高速通信要求。

      本文設(shè)計(jì)了一種基于Xilinx公司Virtex4系列的FPGA的128位并行數(shù)據(jù)與ADSP TS201的鏈路口通信方式。

      1 ADSP TS201鏈路口協(xié)議

      ADSP TS201有4個(gè)鏈路口均采用LVDS(Low Voltage Differential Signaling )電路, 每個(gè)鏈路口都是由4位雙向差分?jǐn)?shù)據(jù)線和另外3個(gè)控制信號(hào)構(gòu)成。接收控制信號(hào)包括:Lxclkinp/n,Lxacko,Lxbcmpi;發(fā)送控制信號(hào)包括: Lxclkoutp/n,Lxacki和Lxbcmpo。其中,Lxclkoutp/n和Lxclkinp/n用于描述輸出或輸入信號(hào)的時(shí)鐘,Lxacko和Lxacki則表示接收端發(fā)出的信號(hào)和發(fā)送端接收的信號(hào)表明是否可以繼續(xù)發(fā)送,Lxbcmpi和Lxbcmpo說(shuō)明塊傳輸已經(jīng)完成。

      鏈路口每個(gè)方向(Rx或Tx)均可通過(guò)1位或4位數(shù)據(jù)總線通信,發(fā)送端發(fā)送數(shù)據(jù)到外部設(shè)備,接收通端從外部設(shè)備獲取數(shù)據(jù)。這里主要討論4位數(shù)據(jù)總線通信模式的具體實(shí)現(xiàn)。

      在鏈路口通訊協(xié)議的時(shí)序上采用一些通用規(guī)則,具體規(guī)則如下:

      ① 第一個(gè)數(shù)據(jù)(1位或4位)必須在鏈路口時(shí)鐘(Lxclkoutp)的第一個(gè)上升沿發(fā)送。

      ② 后一個(gè)數(shù)據(jù)(1位或4位)必須在鏈路口時(shí)鐘(Lxclkoutp)最后一個(gè)下降沿發(fā)送。

      ③ 當(dāng)鏈路口停止收發(fā)后Lxclkoutp被置為低。

      ④ 每次至少傳送4個(gè)字(128位)。傳送需要用16個(gè)鏈路口周期,如圖1所示。

      當(dāng)Lxacki被置為高,即接收緩沖是空的,發(fā)送通道被初始化,發(fā)送端可以繼續(xù)發(fā)送數(shù)據(jù)。如圖2所示,第一個(gè)數(shù)據(jù)在第一個(gè)Lxclkoutp上升沿有效,最后一個(gè)數(shù)據(jù)在最后一個(gè)鏈路口時(shí)鐘下降沿之前發(fā)送。當(dāng)鏈路口停止時(shí)Lxclkoutp被置為低。

      圖1 4位模式時(shí)序

      圖2 鏈路口a只發(fā)送4個(gè)字的時(shí)序

      圖3 鏈路口a發(fā)送到接收端(Rx滿)

      圖3表示當(dāng)Lxacki被置為低時(shí),說(shuō)明接收端沒(méi)有準(zhǔn)備好接收更多數(shù)據(jù)的情況。此時(shí)若仍有數(shù)據(jù)傳送,則會(huì)造成數(shù)據(jù)的丟失。

      當(dāng)發(fā)送數(shù)據(jù)長(zhǎng)度可變時(shí)發(fā)送方用Lxbcmpo信號(hào)通告接收數(shù)據(jù)塊傳輸已完成。Lxbcmpo與接收端的Lxbcmpi輸入信號(hào)連接,當(dāng)接收端識(shí)別該信息,就通知DMA通道數(shù)據(jù)塊傳送完畢。

      Lxbcmpo信號(hào)通過(guò)在塊的最后4個(gè)字傳輸?shù)牡谝粋€(gè)Lxclkout上升沿變低,指示塊傳輸完成。而在同一4個(gè)字的最后一個(gè)Lxclkout下降沿置位。若LTCTLx寄存器中的TBCMPE位被清除或當(dāng)鏈路口傳輸由處理器核執(zhí)行,Lxbcmpo無(wú)效。

      2 模塊建立與優(yōu)化

      ADSP TS201的鏈路口采用的是獨(dú)立的發(fā)送和接收通道,因此對(duì)應(yīng)的FPGA也需要采用不同的接收電路和發(fā)送電路。

      無(wú)論是接收還是發(fā)送均由兩部分組成:接收/發(fā)送緩沖和接收/發(fā)送模塊。接收模塊主要是用于接口和數(shù)據(jù)的拆包處理,發(fā)送模塊是用于數(shù)據(jù)接收和打包處理。接收/發(fā)送緩沖則是用來(lái)分別配合接收/發(fā)送模塊進(jìn)行數(shù)據(jù)緩沖,并實(shí)現(xiàn)數(shù)據(jù)傳輸功能。

      2.1 接收電路

      接收模塊:接收到由鏈路口4位數(shù)據(jù)總線送出的數(shù)據(jù)差分信號(hào)Lxdata_p/n和控制差分信號(hào)Lxclk_p/n以后不能直接拆包處理,需要將原來(lái)的差分信號(hào)轉(zhuǎn)換成完整信號(hào)Lxdata和Lxclk,才可進(jìn)入雙倍數(shù)據(jù)速率器(DDR)寄存,此寄存器由時(shí)鐘信號(hào)clkin(與Lxclk同頻率)控制。由于是4位數(shù)據(jù)總線同時(shí)串行傳送數(shù)據(jù),其具體的數(shù)據(jù)排序如圖4所示。

      可見(jiàn),每一路傳送的數(shù)據(jù)均不是連續(xù)的,且都按模4余數(shù)分配。為了方便數(shù)據(jù)并行送出,需要將數(shù)據(jù)進(jìn)行拆包整理。每個(gè)clkin周期收到8位數(shù)據(jù),將此按位號(hào)由大到小的順序整理,并放入mid(7:0)中。其間增加一級(jí)觸發(fā)器作為緩沖。

      接收緩沖:此部分主要由狀態(tài)機(jī)和FIFO構(gòu)成,其中狀態(tài)機(jī)主要控制FIFO寫命令的產(chǎn)生,由鏈路口時(shí)鐘Lxclk和時(shí)鐘信號(hào)clkin共同產(chǎn)生,即當(dāng)Lxclk產(chǎn)生第一個(gè)上升沿時(shí)計(jì)數(shù)器開(kāi)始計(jì)數(shù)從0~15,每次計(jì)數(shù)就會(huì)將相應(yīng)的FIFO寫許可we_d置為有效。將128位數(shù)據(jù)每8位為一組,分別送入16個(gè)8位FIFO中,由外部的FIFO_oe讀信號(hào)和sysclk時(shí)鐘信號(hào)控制128位數(shù)據(jù)并行讀出。即將FIFO_oe信號(hào)同時(shí)接到16個(gè)FIFO上,當(dāng)FIFO_oe有效時(shí),從16個(gè)FIFO中同時(shí)讀出數(shù)據(jù)。并根據(jù)FIFO存儲(chǔ)狀態(tài)發(fā)送Lxacko信號(hào)和fullflag信號(hào),若FIFO不滿則將Lxacko信號(hào)置為1(高有效)允許發(fā)送端繼續(xù)通過(guò)鏈路口發(fā)送數(shù)據(jù);否則Lxacko置為0。

      圖4 4位數(shù)據(jù)模式傳送數(shù)據(jù)排序

      其中,F(xiàn)IFO 8由Core generator直接生成,是異步8位先進(jìn)先出存儲(chǔ)器。下面涉及的FIFO 16,F(xiàn)IFO 32均這樣生成。接收(Rx)流程圖如圖5所示。

      圖5 接收流程圖

      綜合后此電路的主時(shí)鐘Clkin頻率最快可達(dá)到368 MHz。由于一個(gè)FIFO 8就占用了一個(gè)18 Kb的嵌入式FIFO資源,而16個(gè)FIFO就占據(jù)了16個(gè)塊的資源,這不僅造成了資源的浪費(fèi),還增加了布局布線所需要的時(shí)間。因此,為了優(yōu)化結(jié)構(gòu),增加一級(jí)寄存器,擴(kuò)展數(shù)據(jù)的位數(shù),使得數(shù)據(jù)在未進(jìn)入FIFO 前就已得到處理,由原來(lái)的8位數(shù)據(jù)mid連成16位數(shù)據(jù)Data,再送入16位的FIFO 16中。優(yōu)化后,F(xiàn)IFO 16的使用率由原來(lái)的22%減少到11%,大大減少了線上延遲。綜合此電路的主時(shí)鐘clkin頻率最高可實(shí)現(xiàn)500 MHz。具體結(jié)構(gòu)如圖6所示。

      圖6 優(yōu)化后的接收結(jié)構(gòu)

      2.2 發(fā)送電路

      發(fā)送模塊:當(dāng)外部接收到128位并行數(shù)據(jù)Datain(127:0)及FIFO寫控制信號(hào)Datain_we后,將數(shù)據(jù)按以下規(guī)則重新組合排序:

      loop0 : for i in 0 to 7 generate

      ramdata0((4*i)+3 downto 4*i)<=datain((16*i)+3 downto (16*i)+0);

      ramdata1((4*i)+3 downto 4*i)<=datain((16*i)+7 downto (16*i)+4);

      ramdata2((4*i)+3 downto 4*i)<=datain((16*i)+11 downto (16*i)+8);

      ramdata3((4*i)+3 downto 4*i)<=datain((16*i)+15 downto (16*i)+12);

      end generate;

      數(shù)據(jù)整理后,同時(shí)送入4個(gè)32位FIFO 32中,寫時(shí)鐘為sysclk。當(dāng)FIFO 32不為空且Lxacki信號(hào)為高電平時(shí),接收端允許傳送數(shù)據(jù)。數(shù)據(jù)由FIFO 32中讀出,分別放入4個(gè)32位寄存器中,準(zhǔn)備發(fā)送。

      發(fā)送緩沖:此部分由狀態(tài)機(jī)和雙數(shù)據(jù)率(DDR)寄存器組成。當(dāng)發(fā)送條件成立,數(shù)據(jù)放入寄存器后,由state信號(hào)控制寄存器,每個(gè)Txclk周期從4個(gè)寄存器中各讀出2位數(shù)據(jù)Data_tx(7:0) 共8位,為了滿足鏈路口通信協(xié)議,發(fā)送出的數(shù)據(jù)應(yīng)如圖4所示。因此,將Data_tx兩兩分組(0和4,1和5,2和6,3和7),4對(duì)數(shù)據(jù)分別由4個(gè)雙數(shù)據(jù)率(DDR)寄存器經(jīng)差分轉(zhuǎn)換送出,根據(jù)協(xié)議同時(shí)送出相應(yīng)的時(shí)鐘控制信號(hào)Lxclk_p/n(與Txclk相同頻率)。按照協(xié)議,Lxclk的第一個(gè)上升沿必須在第一位數(shù)據(jù)傳送中建立,因此,這里引入時(shí)鐘信號(hào)Txclk90(Txclk相移90°),用來(lái)控制Lxclk_p/n信號(hào)。數(shù)據(jù)傳送結(jié)束前的最后一個(gè)時(shí)鐘周期內(nèi)將Lxbcompo信號(hào)置低(低有效)。發(fā)送(Tx)流程如圖7所示。結(jié)構(gòu)如圖8所示。

      圖7 數(shù)據(jù)流程圖

      綜合后此電路的主時(shí)鐘Txclk頻率最快可達(dá)到280 MHz。分析后發(fā)現(xiàn)此結(jié)構(gòu)制約速度的瓶頸為高頻計(jì)數(shù)器,此計(jì)數(shù)器產(chǎn)生控制信號(hào)。因此,為了提高速度優(yōu)化結(jié)構(gòu)。將此計(jì)數(shù)器改為原時(shí)鐘的二分頻信號(hào)clkd2控制計(jì)數(shù)。此時(shí)每當(dāng)clkd2上升沿從FIFO 32讀出32位數(shù)據(jù)放入寄存器,該寄存器同樣由clkd2控制,時(shí)鐘的上升沿來(lái)到時(shí)讀出4位數(shù)據(jù),組成連續(xù)的16位數(shù)據(jù),這些數(shù)據(jù)經(jīng)過(guò)子模塊fast的處理,按照鏈路口協(xié)議要求輸出數(shù)據(jù)dataout。綜合后此電路的主時(shí)鐘Txclk頻率最快可達(dá)到400 MHz。

      子模塊fast的結(jié)構(gòu)如圖9所示。

      子模塊fast控制模塊是由clk,clknot,clkd2和clkd2not四個(gè)時(shí)鐘組合生成,產(chǎn)生mux0和mux1兩個(gè)控制信號(hào)。當(dāng)mux0=0時(shí)Datainn(3:0)輸出到Data0,反之,當(dāng)mux0=1時(shí)Datainn(11:8)輸出到Data0;同樣,當(dāng)mux1=0時(shí)Datainn(7:4)輸出到Data1,反之,當(dāng)mux1=0時(shí),Datainn(15:12)輸出到Data1。

      圖8 發(fā)送結(jié)構(gòu)

      圖9 fast模塊結(jié)構(gòu)

      為了提高速度,保證高頻率下程序的穩(wěn)定性,使用rloc命令,通過(guò)對(duì)fast模塊各個(gè)觸發(fā)器屬性描述及對(duì)底層基本邏輯單元的相對(duì)位置進(jìn)行約束,使得同一組數(shù)據(jù)的觸發(fā)器放置相對(duì)集中,從而減少了由于時(shí)鐘信號(hào)在布局布線中產(chǎn)生延遲使得數(shù)據(jù)建立時(shí)間不足而引起的不定態(tài)。

      3 實(shí)現(xiàn)與仿真

      ModelSim是一個(gè)獨(dú)立的仿真工具,在Xilinx公司的ISE集成開(kāi)發(fā)環(huán)境中給ModelSim 仿真軟件預(yù)留了接口,通過(guò)這個(gè)接口可以從ISE集成工具中直接啟動(dòng)ModelSim工具進(jìn)行仿真。由于廠家的推廣,ModelSim得到了廣泛的應(yīng)用。

      仿真也可分為功能仿真和時(shí)序仿真等3大類型。由于特殊底層元件的使用,需要一些器件庫(kù)模型的支持。而綜合后門級(jí)功能仿真以及實(shí)現(xiàn)后時(shí)序仿真都需要廠家器件庫(kù)的支持。

      因此,在使用ModelSim 6.2進(jìn)行功能級(jí)仿真和布局布線后仿真時(shí),應(yīng)根據(jù)需要提前對(duì)Xilinx的UNISIM,XilinxCoreLib,SIMPRIM,SmartModel庫(kù)進(jìn)行編譯。其中,UNISIM庫(kù)包含了Xilinx公司全部的標(biāo)準(zhǔn)元件;XilinxCoreLib則包含了使用Xilinx Core Generator工具生成的IP的仿真模型;SIMPRIM庫(kù)用來(lái)做時(shí)序仿真或者門及功能仿真;SmartModel庫(kù)用來(lái)模擬復(fù)雜的FPGA設(shè)計(jì)。

      首先按如下步驟完成對(duì)XX的編譯:

      (1) 將ModelSim根目錄下的modelsim.ini文件的屬性設(shè)置為存檔;

      (2) 在ModelSim的命令窗口中輸入命令:“compxlib-s mti_se-arch all-l vhdl-w-lib all”;

      (3) 將ModelSim.ini文件的屬性重新設(shè)置為只讀。

      環(huán)境建立好以后,首先對(duì)程序進(jìn)行功能級(jí)仿真,驗(yàn)證功能是否達(dá)到要求;功能仿真正確后再進(jìn)行布局布線后仿真,根據(jù)布局布線仿真的情況再對(duì)程序進(jìn)行分析,調(diào)整或者修改原先的設(shè)計(jì),以滿足設(shè)計(jì)要求。

      發(fā)送:此波形顯示將128位數(shù)據(jù)Data0轉(zhuǎn)換成鏈路口的傳送協(xié)議送出,如圖10所示。

      圖10 發(fā)送波形

      接收:此波形表示有TS201鏈路口接收到一組數(shù)據(jù),當(dāng)FIFO_oe(即FIFO讀信號(hào)) 為高時(shí)將數(shù)據(jù)并行送出,如圖11所示。

      圖11 接收波形

      4 結(jié) 語(yǔ)

      本文介紹了一種利用VHDL語(yǔ)言在FPGA上實(shí)現(xiàn)鏈路口通信的方法,實(shí)現(xiàn)FPGA與ADSP TS201 之間的高速鏈路口通信。設(shè)計(jì)最終能達(dá)到的接收鏈路時(shí)鐘頻率為500 MHz,發(fā)送鏈路時(shí)鐘頻率為400 MHz,充

      分發(fā)揮了鏈路口通信的速度優(yōu)勢(shì)。也使得ADSP TS201通過(guò)具有此功能的FPGA與其他并行接口器件或設(shè)備進(jìn)行高速通信成為可能。

      參考文獻(xiàn)

      [1]侯伯亨.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,1999.

      [2]劉書明,羅勇將.ADSP TS20XS系列DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.

      [3]王誠(chéng),薛小剛,鐘信潮.FPGA/CPLD設(shè)計(jì)工具-XilinxISE使用詳解[M].北京:人民郵電出版社,2005.

      [4]ModelSimsRSE User′s Manual[DB/OL].Software Version 6.2b,2006.

      [5]Xilinx ISE 8 Software Manuals[DB/OL].Xilinx,Inc.All Rights Reserved,2006.

      [6]朱明程.現(xiàn)場(chǎng)可編程邏輯門陣列器件 FPGA原理及應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,1994.

      [7]Stefan Sjoholm,Lennart Lindh.VHDL for Designers[M].北京:清華大學(xué)出版社,2000.

      [8]初步產(chǎn)品技術(shù)規(guī)范.Virtex-4系列概述[DB/OL].DS112(v2.0),2007.

      [9]Virtex-4 User Guide[DB/OL].UG070 (v2.2),2007.

      [10]ADSP-TS201 TigerSHARCsRProcessor Hardware Reference[DB/OL].Revision 1.1,2004.

      作者簡(jiǎn)介

      魏云斐 女,1981年出生,碩士研究生。主要研究方向?yàn)橛?jì)算機(jī)系統(tǒng)結(jié)構(gòu)

      注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

      拜城县| 青海省| 潜江市| 华安县| 石城县| 堆龙德庆县| 吴桥县| 河南省| 衡南县| 和硕县| 濮阳市| 改则县| 黄龙县| 固阳县| 凭祥市| 施甸县| 沁阳市| 卢湾区| 黄浦区| 五大连池市| 前郭尔| 顺义区| 石家庄市| 浏阳市| 修文县| 祥云县| 达尔| 子洲县| 昌平区| 宁晋县| 天台县| 石嘴山市| 宜宾市| 逊克县| 棋牌| 贵港市| 禄劝| 陇南市| 威海市| 紫金县| 郯城县|