日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導讀]FSL(Fast Simplex Link,快速單向鏈路)總線,是Xilinx公司為其FPGA器件開發(fā)的,可以實現(xiàn)用戶IP核與軟核處理器的高速連接。FSL總線 FSL總線接口 FSL總線是一個基于FI

FSL(Fast Simplex Link,快速單向鏈路)總線,是Xilinx公司為其FPGA器件開發(fā)的,可以實現(xiàn)用戶IP核與軟核處理器的高速連接。

FSL總線

FSL總線接口

FSL總線是一個基于FIFO的單向點對點通信總線,主要用于FPGA的兩個模塊問進行快速的通信。FSL總線IP核結構如圖2所示,F(xiàn)SL接口的I/O信號如表2所列。

該接口的主要特點:

◆單向的點對點通信;
◆非共享的無仲裁通信機制;
◆支持控制位與數(shù)據(jù)分離的通信;
◆基于FIFO的通信模式;
◆可配置的數(shù)據(jù)寬度;
◆高速的通信性能(獨立運行達到600 MHz)。

FSL總線的寫操作時序

對FSL總線的寫操作是由FSL_M_Write信號控制的。圖3是FSL總線的寫操作時序。FSL主設備在第一個時鐘上升沿檢查到FSL_M_Full 信號未置高,就允許主設備將FSL_M_Write置高,并將FSL_M_Data和FSL_M_Control推上總線,在下一個時鐘周期這些數(shù)據(jù)就被總線讀取并送入FIFO了。圖中的Write2和Write3是一組“背靠背”的連續(xù)寫操作。在Write3時,F(xiàn)IFO滿使得FSL_M_Full信號被置高,迫使主設備取消自己的FSL_M_Write信號,直到一次讀操作將FSL_M_Full置低后,才可以發(fā)起另一次寫操作。因此,圖中暗示著在 Write4處也發(fā)生了一次從設備的讀操作,否則FSL_M_Full將再次置高。


FSL總線讀操作時序

對FSL總線的讀操作是由FSL_S_Read信號控制的,圖4是FSL從設備的3次讀操作時序。當FSL總線上存在有效數(shù)據(jù)(FSL_S_Exists =‘1’),F(xiàn)SL_M_Data上的數(shù)據(jù)和FSL_M_Control上的控制位就立即可以被FSL從設備讀取。一旦從設備完成讀操作, FSL_S_Read信號必須置高一個時鐘周期,以確認從設備成功完成了一次讀操作。在讀操作發(fā)生后的時鐘上升沿(圖中Read2處), FSL_M_Data和FSL_M_Control會被更新為新數(shù)據(jù),同時FSL_S_Exists和FSL_M_Full信號也會被更新。同樣,這里暗示著在Readl和Read2之間發(fā)生了兩次主設備的寫操作。


FSL總線用法

使用FSL總線IP核的設備間通信

目前Xilinx提供的FSL總線IP核的版本是FSL_V20。兩個設備要使用FSL進行數(shù)據(jù)傳輸,就必須分別作為主設備或從設備連接到FSL核上。如果需要進行雙向的傳輸,只要兩個設備分別作為主從設備,使用兩個FSL核連接即可。

無論是作為主設備或是從設備,都需要通過在設備的微處理器外設描述文件(MPD)中進行相應的定義,以實現(xiàn)所需類型的FSL接口。下面這段代碼就是一個分別定義了FSL主設備接口FSL_OUT和從設備接口FSL_IN的MPD文件:

BEGIN my_fsl_peripheral
OPTl0N IPTYPE=PERIPHERAL
OPTl0N IMP_NETLIST=TRUE
BUS_INTERFACE BUS=FSL_IN,BUS_STD=FSL,BUS TYPE=SLAVE
BUS_INTERFACE BUS=FSL_OUT,BUS_STD=FSL,BUS_TYPE=MASTER
##Ports
PORT CLK=””,DIR=IN,SIGIS=CLK
PORT RESET=””。DIR=IN
PORT FSL_S_READ=FSL_S_Read,DIR=out,BUS=FSL_IN
PORT FSL_S_DATA=FSL_S_Data,DIR=in,VEC=[o:31],BUS=FSL_IN
PORT FSL_S_CONTROL=FSL_S_Control,DIR=in, BUS=FSL_IN
PORT FSL_s_EXISTS=FSL_S_Exists,DIR=in,BUS=FSL_IN
PORT FSL_M_WRITE=FSL_M_Write,DIR=out,BUS=FSL_OUT
PORT FSL_M_DATA=FSL_M_Data,DIR=out,VEC=[o:31],BUS=FSL_OUT
PORT FSL_M_CONTROL=FSL_M_Control,DIR=out, BUS=FSL_OUT
PORT FSL_M_FULL=FSL_M_Full,DIR=in,BUS=FSL_OUT

通過FSL與MicroBlaze通信

MicroBlaze軟核的FSL總線接口支持最多8對FSL連接,具體實現(xiàn)多少接口由系統(tǒng)硬件描述文件(MHS)中的參數(shù)C_FSL_LINKS決定。默認情況下該參數(shù)為0,表示不實現(xiàn)FSL接口。當需要使用FSL總線把MicroBlaze和FPGA中的一個或多個邏輯模塊連接起來時,必須設置該參數(shù)的值為相應的模塊數(shù)。該參數(shù)的取值范圍是0~8。

在MicroBlaze指令集中還有針對FSL總線操作的指令,它們分別是:

◆get,put——阻塞式數(shù)據(jù)讀寫FSL,控制信號被置為0;
◆nget,nput——非阻塞式數(shù)據(jù)讀寫FSL,控制信號被置為0;
◆cget,cput——阻塞式控制位讀寫FSL,控制信號被置為1;
◆ncget,ncput——非阻塞式控制位讀寫FSL,控制信號被置為1。

FSL總線應用實例

在下面的實例中,嘗試通過FSL總線技術,將實現(xiàn)特定函數(shù)功能的用戶自定義IP核整合到MicroBlaze軟核系統(tǒng)中,以實現(xiàn)硬件加速的目的。這里以一個矢量漢字(vector font)還原功能的硬件模塊的整合為例,說明FSL總線的應用過程。所使用的開發(fā)平臺是Memec Insight公司生產(chǎn)的Virtex—II系列的MicroBlaze開發(fā)板,板上采用的FPGA器件為Virtex—II 1000,系統(tǒng)時鐘為100 MHz,開發(fā)工具為Xilinx公司的EDK 6.3及ISE 6.3。

FSL總線應用方案

如圖5所示,vectOr_font核通過FSL_Code-與FSL_Lattice兩條FSL總線與MicroBlaze軟核直接相連。

對于FSL_Code總線,MicroBlaze核是主設備,而vector_font核是從設備。這樣MicroBlaze可以通過 FSL_Code總線向vectOr_font核發(fā)送漢字的區(qū)位碼(或者其他格式的漢字編碼,由使用的矢量字庫和還原算法決定)以及漢字的屬性信息(如字體、大小等)。

對于FSL_Lattice總線則正好相反。vector font 核作為主設備可以通過它向MicroBlaze核發(fā)送經(jīng)過還原處理后的漢字點陣數(shù)據(jù)以及漢字點陣尺寸信息(用于將點陣數(shù)據(jù)在顯存中組織成正確的顯示格式)。

數(shù)據(jù)傳輸指令與控制位指令的應用

FSL 提供的獨立于數(shù)據(jù)傳輸?shù)目刂莆豢梢杂脕韺φ趥鬏斨械臄?shù)據(jù)進行標記。為了區(qū)分區(qū)位碼數(shù)據(jù)與漢字屬性數(shù)據(jù),以及點陣數(shù)據(jù)與漢字點陣尺寸數(shù)據(jù)。 MicroBlaze分別通過FSL的數(shù)據(jù)傳輸指令和控制位傳輸指令來發(fā)送漢字的區(qū)位碼和漢字屬性信息,接收點陣數(shù)據(jù)和漢字點陣尺寸信息。對應的實現(xiàn)代碼如下:

//使用非阻塞的數(shù)據(jù)寫函數(shù)向FSL總線寫入漢字區(qū)位碼Microblaze_nbwrite_datatsl(code,O)
//使用非阻塞的控制位寫函數(shù)向FSL總線寫入漢字屬性信息maicroblaze_cnbwrite_cnlfsl(attibute,O)
//使用非阻塞的數(shù)據(jù)讀函數(shù)從FSL總線讀取漢字點陣數(shù)據(jù)microblaze_nbread_datafsl(1attice[i],O)
//使用非阻塞的控制位讀函數(shù)從FSL總線讀取漢字點陣尺寸信息microblaze_cnbread_cnlfsl(size,O)

代碼中用到的與FSL有關函數(shù)的定義,都在include目錄下的mb_interface.h文件中。其中,各函數(shù)的第二個參數(shù)代表進行讀寫操作的 FSL總線接口的編號,對應Mi—croBlaze軟核的8對FSL接口。該參數(shù)的取值范圍從0到7。本例中,MicroBlaze只使用了一對FSL接口,故而值為0。

實現(xiàn)步驟

首先,在Base System Wizard中設計圖5虛線框中所示的一個簡單的MicroBlaze嵌入式處理器系統(tǒng)。然后,在XPS集成開發(fā)環(huán)境下完成用戶自定義IP核(本例中即 vectoz__font核)的添加、Microblaze核FSL接口的添加(設置參數(shù)C_FSL_LINKS=1),同時添加兩個FSL總線IP核,分別用于實現(xiàn)FSL_Code和FSL_Lattice總線。另外,將兩個FSL總線IP核的參數(shù)C_USE_CONTROL置為1,以打開FSL總線的控制位傳輸功能。所有這些改動,最后都會被更新到MES文件中。這樣,硬件平臺生成工具platgen就可以根據(jù)它生成所需要的FPGA配置文件了。

硬件的實現(xiàn)完成后,進行相應軟件參數(shù)的設置,如將系統(tǒng)標準輸入輸出設備指向UART模塊等。然后,用庫生成工具libgen,根據(jù)MSS(系統(tǒng)軟件描述文件)文件,將所需外設函數(shù)庫的頭文件添加進工程中。

通過調(diào)用這些函數(shù),可以操作和控制這些外設。通過Tool項里的build命令,調(diào)用mb—gcc:編譯工具,將編寫的應用程序編譯成ELF文件,再用 updatebitstrcam命令將程序代碼對應的RAM初始化數(shù)據(jù)添加到前面生成的FPGA配置文件中,生成最終的bit配置文件。最后,使用 download命令將bit文件下載到目標板中。

以上就是整個FSL應用實例設計的實現(xiàn)過程。本例只是為了說明FSL總線的使用。實際應用中,還可以根據(jù)具體情況通過FSL,將更多的用戶自定義IP核(如DCT、FFT等)添加到.MicroBlaze軟核系統(tǒng)中去。

結 語

在嵌入式系統(tǒng)的開發(fā)中,人們一直希望能夠有一個滿足自己需要的“定制”的嵌入式處理器,而不是手頭大量存在的通用微處理器。但是,直接將用戶自定義IP核添加到處理器核中,不僅受到處理器原架構的束縛,還有可能降低處理器的性能(處理器工作頻率);而通過與內(nèi)部寄存器直接相連的FSL接口,用戶自定義IP 可以在不破壞處理器原有結構的情況下,緊密地與MicroB- laze軟核結合在一起。這樣,即使關鍵路徑覆蓋了用戶IP 核,由于它在處理器內(nèi)核之外,也不會導致處理器時鐘頻率的降低。

通過對FSL總線的分析以及上述實例的驗證,證明了在基于MicroBlaze的SoC 系統(tǒng)設計中,一方面可以針對具體應用進行“量體裁衣”式的設計;另一方面,利用其專用的FSL總線接口技術,實現(xiàn)嵌入式軟處理器系統(tǒng)與用戶自定義邏輯的整合,從而在不提高系統(tǒng)主頻的前提下,通過部分函數(shù)功能的硬件實現(xiàn)來提升系統(tǒng)的性能。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式開發(fā)領域,工具鏈的生態(tài)競爭直接影響開發(fā)效率與產(chǎn)品競爭力。德州儀器(TI)的Code Composer Studio(CCS)與賽靈思(Xilinx)的Vitis作為兩大主流平臺,分別在DSP與FPGA/SoC開發(fā)...

關鍵字: TI Xilinx

Serial RapidIO(SRIO)是一種高性能、低引腳數(shù)、基于數(shù)據(jù)包交換的互連技術,專為滿足未來高性能嵌入式系統(tǒng)的需求而設計。它由Motorola和Mercury等公司率先倡導,旨在為嵌入式系統(tǒng)提供可靠的、高性能的...

關鍵字: SRIO Xilinx

隨著Altera,Xilinx兩家FPGA巨頭陸續(xù)被收購,F(xiàn)PGA的未來似乎已經(jīng)與數(shù)據(jù)中心、AI等超大規(guī)模應用綁定。

關鍵字: Altera Xilinx

在現(xiàn)代電子設計自動化(EDA)工具鏈中,ModelSim作為一款功能強大的仿真軟件,廣泛應用于FPGA(現(xiàn)場可編程門陣列)和數(shù)字IC設計的驗證階段。特別是在與Xilinx FPGA結合使用時,ModelSim能夠模擬復雜...

關鍵字: ModelSim Xilinx

在FPGA(現(xiàn)場可編程門陣列)設計與開發(fā)過程中,Xilinx的Vivado工具憑借其強大的功能和用戶友好的界面,受到了廣大工程師的青睞。然而,僅僅掌握Vivado的基本操作是遠遠不夠的,掌握一些使用小技巧可以極大地提高設...

關鍵字: Vivado FPGA Xilinx

在高速數(shù)據(jù)傳輸?shù)腇PGA設計中,時序約束是保證數(shù)據(jù)準確傳輸?shù)年P鍵因素之一。特別是在LVDS(Low Voltage Differential Signaling)等高速接口設計中,信號的傳輸延時和時序?qū)R尤為重要。Xil...

關鍵字: 時序約束 Xilinx IDELAYE2應用

在現(xiàn)代的FPGA設計中,球柵陣列(BGA)封裝已經(jīng)成為了一種常見的封裝方式,特別是在高性能、高密度的Xilinx FPGA設計中。BGA封裝以其高集成度、小體積和優(yōu)良的熱性能受到了廣泛的應用。然而,BGA封裝的復雜性和高...

關鍵字: BGA 球柵陣列 Xilinx

Vivado是Xilinx公司推出的一款強大的FPGA開發(fā)工具,它為用戶提供了從設計到實現(xiàn)的全面解決方案。然而,在FPGA設計過程中,Vivado編譯錯誤是開發(fā)者經(jīng)常遇到的問題。本文將總結Vivado編譯過程中常見的錯誤...

關鍵字: Vivado編譯 Xilinx FPGA開發(fā)

在FPGA(現(xiàn)場可編程門陣列)的應用中,F(xiàn)lash下載速度是一個關鍵的性能指標。特別是在需要頻繁更新FPGA配置或進行大量數(shù)據(jù)傳輸?shù)膱鼍跋?,提高Flash下載速度顯得尤為重要。Xilinx作為全球領先的FPGA供應商,其...

關鍵字: Flash Xilinx FPGA

視頻流媒體市場總額將從2021年的61個Billion一路增長,至2028年達到213個Billion。流媒體大漲的背后技術挑戰(zhàn)來自新一代的交互模型,會是“多對多”的形式。這種交互模型的變化,將會徹底改變基礎設施的部署模...

關鍵字: AMD Xilinx 加速卡 VPU Alveo MA35D
關閉