• 
    

    
    

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

      基于高性能DSP從接口HPI硬件仿真平臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2014-04-29 00:44:03汪揚(yáng)埔
      電腦迷 2014年15期
      關(guān)鍵詞:固件PC機(jī)驅(qū)動(dòng)程序

      汪揚(yáng)埔

      摘 要 隨著半導(dǎo)體制造技術(shù)的不斷發(fā)展,相應(yīng)的設(shè)計(jì)規(guī)模和復(fù)雜度飛速增長,傳統(tǒng)的軟件仿真工具已難以完全解決功能驗(yàn)證的問題。而且一些需要處理大量實(shí)時(shí)數(shù)據(jù)的應(yīng)用(視頻)也越來越多,因此我們要求能夠在接近實(shí)時(shí)的條件下進(jìn)行功能驗(yàn)證。基于仿真平臺(tái)的測試已成為DSP設(shè)計(jì)流程中重要一個(gè)環(huán)節(jié)。基于仿真平臺(tái)的測試可以用來改進(jìn)RTL級設(shè)計(jì)代碼,驗(yàn)證功能的正確和完整性,大大提高DSP的流片成功率。

      關(guān)鍵詞 DSPHPI 硬件仿真

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

      1平臺(tái)結(jié)構(gòu)

      整個(gè)平臺(tái)按照PC-USB-FPGA-HPI的結(jié)構(gòu)搭建,如圖1,通過HPI接口與DSP進(jìn)行通信。平臺(tái)主要的器件有:Xilinx的Spartan 3S1200E FPGA、Xilinx的Platform Flash PROM XCF04s、Cypress公司FX2系列產(chǎn)品CY7C68013。

      圖1 HPI仿真平臺(tái)系統(tǒng)框架圖

      PC機(jī)下發(fā)的請求通過USB控制器的GPIF產(chǎn)生訪問波形,可以稱為USB接口協(xié)議,USB接口協(xié)議完全由USB控制器處理。FPGA主要起到接口轉(zhuǎn)換的作用,實(shí)現(xiàn)16位數(shù)據(jù)與32位數(shù)據(jù)之間的轉(zhuǎn)化,工作時(shí)鐘輸入由CY7C68013提供。由于FPGA屬于掉電易失性器件,每次斷電重啟后必須重新加載硬件代碼才可正常工作,因此又為其配置了PROM器件(Xilinx XCF04S),F(xiàn)PGA從PROM中自動(dòng)導(dǎo)入預(yù)先下載的設(shè)計(jì)文件即可正常工作,可以大大減少下載次數(shù)提高工作效率。仿真器硬件構(gòu)架圖如圖2所示。

      圖2 HPI仿真器硬件構(gòu)架圖

      在為HPI的仿真平臺(tái)準(zhǔn)備好所有的硬件資源之后,接下來的主要工作就是對協(xié)議轉(zhuǎn)變器(FPGA)與仿真協(xié)同軟件進(jìn)行設(shè)計(jì),并最終實(shí)現(xiàn)協(xié)同的仿真功能。圖3體現(xiàn)的是仿真平臺(tái)的軟硬件構(gòu)建。

      圖3 仿真平臺(tái)的軟硬件構(gòu)建

      2 FPGA協(xié)議轉(zhuǎn)變器

      協(xié)議轉(zhuǎn)變器在整個(gè)仿真平臺(tái)中可以簡單的看做是一個(gè)連接兩個(gè)主要接口的中間地帶,其主要的控制通路與數(shù)據(jù)通路方向如圖4所示。

      圖4 控制通路與數(shù)據(jù)通路主體構(gòu)圖

      PC機(jī)與協(xié)議轉(zhuǎn)變器(FPGA)的連接實(shí)際指的是USB接口芯片F(xiàn)X2的GPIF接口與FPGA之間的連接,其中16位雙向數(shù)據(jù)總線FD到協(xié)議變換器內(nèi)部,經(jīng)過FPGA的IOBUF的端口處理,拆分成兩個(gè)單向信號FD_out(輸出信號)與FD_in(輸入信號)。RDY0的信號值由協(xié)議轉(zhuǎn)變器中產(chǎn)生。具體的信號連接如圖5所示。

      在設(shè)計(jì)中,F(xiàn)PGA一共被分為4個(gè)單元,如圖6協(xié)議轉(zhuǎn)變器FPGA框架圖所示。其中譯碼單元(PC_Decoder)單元對PC機(jī)的操作要求進(jìn)行譯碼,主要包括區(qū)分單字訪問、自增訪問,確定訪問的對象、確定讀/寫操作以及對FX2的控制輸入信號的采樣。數(shù)據(jù)拆分和拼接單元(PC_Single)主要針對輸入和輸出的16位與32位的接口差異進(jìn)行數(shù)據(jù)的拆分和拼接。批量數(shù)據(jù)處理單元(PC_Bulk_Data)設(shè)計(jì)有3個(gè)單元,及HPIC_access、HPIA_access、HPID_access。PC機(jī)的指令經(jīng)過譯碼單元譯碼后,對HPIC_access、HPIA_access、HPID_access進(jìn)行訪問操作。RAM單元用來暫存發(fā)往DSP和返回上位機(jī)的數(shù)據(jù)。

      圖5 PC機(jī)與FPGA的接口連接

      圖6 協(xié)議轉(zhuǎn)變器FPGA框架圖

      3 協(xié)同軟件

      在本設(shè)計(jì)中,協(xié)同軟件主要包括固件設(shè)計(jì)、驅(qū)動(dòng)程序設(shè)計(jì)和主機(jī)端口應(yīng)用程序設(shè)計(jì)。如圖2仿真平臺(tái)的軟硬件構(gòu)建所示。

      (1)固件設(shè)計(jì)

      CYPRESS公司的EZ-USB FX2開發(fā)套件提供給用戶一個(gè)固件函數(shù)庫(Ezusb.lib)和固件框架(Frame work),兩者均是基于KEIL C51開發(fā)的。固件函數(shù)庫提供了一系列的函數(shù)來加速USB 固件程序的開發(fā),使用時(shí)只需在程序中包含fx2.h 和fx2regs.h 兩個(gè)頭文件,并在項(xiàng)目中鏈接Ezusb.lib 就可以直接使用固件庫中的各個(gè)函數(shù)了。在使用固件框架來進(jìn)行特定的固件開發(fā)時(shí),固件框架已經(jīng)實(shí)現(xiàn)了初始化、重枚舉、電源管理等功能。對我們而言,只需要在固件架構(gòu)的預(yù)留位置處添加代碼,就可以完成特定的功能。

      GPIF能夠裝載4個(gè)控制波形,分別是單個(gè)數(shù)據(jù)讀、單個(gè)數(shù)據(jù)寫、連續(xù)數(shù)據(jù)讀、連續(xù)數(shù)據(jù)寫?!白x”是指FX2從外部接口讀入數(shù)據(jù),“寫”是指FX2向外部接口寫出數(shù)據(jù)。所謂“連續(xù)數(shù)據(jù)讀寫”是指讀入的數(shù)據(jù)存放在FX2的內(nèi)部FIFO,或者寫出的數(shù)據(jù)來自FX2的內(nèi)部FIFO。圖7為GPIF批量寫波形。

      圖7 GPIF批量寫波形圖

      (2)驅(qū)動(dòng)程序設(shè)計(jì)

      驅(qū)動(dòng)程序是指一系列硬件設(shè)備的函數(shù),它為連接到計(jì)算機(jī)的硬件提供了軟件接口。用戶應(yīng)用程序可以通過驅(qū)動(dòng)程序接口訪問各種硬件,而不必考慮如何具體實(shí)現(xiàn)不同硬件的控制。Cypress公司的開發(fā)套件提供給用戶一個(gè)通用USB驅(qū)動(dòng),在該設(shè)計(jì)中,不需要對程序加以修改,經(jīng)過DDK編譯后直接使用。

      (3)主機(jī)端口應(yīng)用程序設(shè)計(jì)

      為有效完成HPI口的相關(guān)操作,我們一共設(shè)置了9個(gè)設(shè)備請求:

      HPIC_WRITE:寫HPIC寄存器;

      HPIC_READ:讀HPIC寄存器;

      HPIA_WRITE:寫HPIA寄存器;

      HPIA_READ:讀HPIA寄存器;

      HPID_WRITE:寫HPID寄存器;

      HPID_READ:讀HPID寄存器;

      HPID_ADDR_ADD_WRITE:地址自增寫HPID寄存器;

      HPID_ADDR_ADD__READ:地址自增讀HPID寄存器;

      RESET_DSP:DSP復(fù)位。

      以上幾個(gè)設(shè)備請求均是通過控制傳輸實(shí)現(xiàn)的,另外,為實(shí)現(xiàn)大規(guī)模數(shù)據(jù)傳輸,我們采用批量傳輸?shù)姆绞蕉x了兩個(gè)函數(shù):

      ①WriteBULKDataToDSPRAM( );

      ②ReadBULKDataFromDSPRAM( );

      參考文獻(xiàn)

      [1] 杜慧敏,李宥謀,趙全良.基于Verilog的FPGA設(shè)計(jì)基礎(chǔ)[J].西安:西安電子科技大學(xué)出版社,2006.

      [2] Prakash Rashinkar, Peter Paterson,Leena Singh著,孫海平,丁健 譯.系統(tǒng)芯片(SOC)驗(yàn)證方法與技術(shù)[M].電子工業(yè)出版社,2005.1.

      [3] 高閣.高性能定點(diǎn)DSP(XDSP)UTOPIA接口的研究與設(shè)計(jì)[D].湖南:國防科技大學(xué),2010.

      猜你喜歡
      固件PC機(jī)驅(qū)動(dòng)程序
      基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
      基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
      VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
      電子制作(2017年23期)2017-02-02 07:16:47
      基于固件的遠(yuǎn)程身份認(rèn)證
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      一種通過USB接口的可靠固件升級技術(shù)
      奧林巴斯XZ—2新固件升級
      中國攝影(2014年1期)2014-02-24 01:50:23
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      柳林县| 都昌县| 长春市| 西吉县| 黑山县| 韶关市| 介休市| 咸丰县| 宁波市| 庄浪县| 广安市| 资阳市| 贺兰县| 内丘县| 嘉兴市| 璧山县| 镇雄县| 阿瓦提县| 闽侯县| 安陆市| 上高县| 凭祥市| 永宁县| 古丈县| 杭锦旗| 台州市| 饶河县| 长海县| 长治市| 肃宁县| 霍林郭勒市| 湛江市| 田林县| 兴仁县| 上蔡县| 义马市| 崇阳县| 夏津县| 吉水县| 安国市| 红河县|