自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
原型驗證過程中的ASIC到FPGA的代碼轉(zhuǎn)換技術(shù)
原型驗證過程中的ASIC到FPGA的代碼轉(zhuǎn)換技術(shù)
 更新時間:2008-8-18 9:54:43  點擊數(shù):18
【字體: 字體顏色

    圖4 FPGA內(nèi)帶有時鐘使能的寄存器

    充分利用FPGA中已有的IP核

    FPGA廠商及第三方廠商已經(jīng)實現(xiàn)并優(yōu)化了很多典型的IP核,例如Xilinx提供了基礎(chǔ)邏輯、總線接口與I/O、視頻與圖像處理、數(shù)字信號處理、存儲器接口、微處理器、控制器等大量IP核。在代碼轉(zhuǎn)換時可以充分利用這些資源,對代碼進行優(yōu)化來提高設(shè)計性能。如在FPGA中使用SRL實現(xiàn)移位寄存器,用三態(tài)Buffer來替換三態(tài)總線和三態(tài)MUX,改進算術(shù)單元和有限狀態(tài)機的編碼。
代碼轉(zhuǎn)換的實現(xiàn)。

    結(jié)合同濟大學微電子中心的“32位高性能嵌入式CPU開發(fā)”項目,為了在流片之前確保功能的可靠性,對32位全定制高性能嵌入式CPU bc320進行了原型驗證。

    設(shè)計采用Memec Design公司的FF1152開發(fā)板。該板使用了Xilinx的Virtex-Ⅱ Pro系列芯片中的XC2VP30。該FPGA擁有30 816個邏輯單元,相當于有30多萬的ASCI門。另有2Mb的片上Block RAM,644個I/O口。采用了Xilinx的全自動、完整的集成設(shè)計環(huán)境ISE 7.1i,進行FPGA綜合使用的工具是Synplify Pro。

    用bc320的ASIC RTL代碼作為FPGA的輸入,具體的代碼轉(zhuǎn)換如下。

    存儲單元

    設(shè)計中用到了很多SRAM,例如Icache中的SRAM。在FPGA實現(xiàn)時根據(jù)所需RAM的寬度、深度和功能來決定采用哪種單元來進行替換。Xilinx提供了片外RAM、Block RAM和LUT RAM。

    ISE提供了兩種具體的實現(xiàn)方法:IP生成器(Core Generator)和語言模板(Language Templates)。IP生成器是Xilinx FPGA設(shè)計中的一個重要設(shè)計輸入工具,它提供了大量Xilinx和第三方公司設(shè)計的成熟高效IP核。

    這里是用Core Generator來產(chǎn)生了名為塊存儲器(Block Memory)的單口存儲器模塊。Core Generator用圖形化設(shè)置參數(shù)的方式來提供塊存儲器,其界面如圖5所示。塊存儲器的大小根據(jù)向量的大小來制定,一個普通單元向量只需要4個512×32bit的塊存儲器就夠了。Core Generator產(chǎn)生塊存儲器時,除了參數(shù)設(shè)置外,還需要輸入一個為.coe的文件來初始化塊存儲器的內(nèi)容。Core Generator產(chǎn)生的文件同時考慮了后端執(zhí)行和仿真兩方面,主要有三個文件:file.v,file.mif,file.edn。其中.v文件為Verilog格式的SRAM仿真模型; .mif文件為作為其初始化內(nèi)容,其內(nèi)容和.coe文件里的具體向量內(nèi)容是一致的;而實際后端文件為.edn,包含了塊存儲器的全部信息。

   

                                  圖5 IP生成器的界面

    Language Templates主要利用Xilinx的塊存儲器元件庫,直接進行調(diào)用。XC2VP30內(nèi)部的單口塊存儲器型號主要有:16k×1bit、1k×16bit、2k×8bit、4k×4bit、512×32bit、8k×2bit。可以根據(jù)自己的需要隨意調(diào)用這些模塊,在RTL代碼中實例化,并把SRAM初始值作為參數(shù)傳遞進去。這些模塊在Synplify Pro中根據(jù)選定的FPGA型號被自動識別,然后綜合成統(tǒng)一的.edn文件,再進行后續(xù)操作。語言模板方式的靈活性比較強,可以設(shè)置多個不同位寬,不同深度的塊存儲器,仿真也比較方便,但是參數(shù)設(shè)定時,SRAM初始值的設(shè)置比較麻煩。

    另外,Xilinx提供工具Data2mem,它可以每次只改變FPGA中塊存儲器的內(nèi)容,而不需將整個設(shè)計重新翻譯、映射和布局布線,為大量的向量驗證節(jié)約了時間。

    時鐘單元

    在bc320設(shè)計中,CPU內(nèi)核通過SYSAD接口與外部SRAM連接。這些外部SRAM的時鐘和主時鐘是不一致的,在ASIC中,用一個PLL來實現(xiàn)。這個PLL模塊是無法用Synplify Pro綜合的,在FPGA上必須將它用Xilinx的數(shù)字時鐘管理模塊(DCM)來替換。同樣可以利用Core Generator和Language Templates這兩種方法。

    利用Core Generator產(chǎn)生mydcm.v文件來代替原先的PLLGS_500.v,代碼如下。第二段代碼是修改后的代碼。

    module PLLGS_500( PLL_K,
    PLL_M,
    PLL_N,
    PLL_PD,
    PLL_TST,
    RESET,
    XIN,
    CLK_OUT,
    TST_OUT);

    module mydcm(CLKIN_IN,
    RST_IN,
    CLKFX_OUT,
    CLKIN_IBUFG_OUT,
    LOCKED_OUT);

    時鐘使能帶代替門控時鐘

    把實現(xiàn)門控時鐘信號轉(zhuǎn)換成實現(xiàn)使能信號,例如信號PCEPL,代碼如下。第二段代碼是修改后的代碼。

    module(out,in,CLK, PCEPL);
    ……
    always @ (CLK or PCEPL)
    assign PCEPLV    = PCEPL & CLK;
    always @(posedge PCEPLV)
    begin
    out <= in;
    end
    endmodule

    module(out,in,CLK, PCEPL);
    ……
    always @(posedge CLK)
    begin
    if (PCEPL)
    out <= in;
    else
    out <= out;
    end
    endmodule

    外部器件配置單元和頂層封裝

    在FF1152開發(fā)板上集成了很多接口和器件,在原型驗證時,可以充分利用這些接口和器件做為和設(shè)計的交互環(huán)境。這些接口和器件需要正確配置后才能正常工作,這部分配置工作可以用FPGA實現(xiàn)。

    設(shè)計增加了LCD接口單元、內(nèi)部記分牌(scoreboard)模塊和通用異步串行接收發(fā)送(UART)模塊。作為保存向量內(nèi)容的SRAM設(shè)定好后,可以用同樣的方法將寄存器參考值也保存在另外的塊存儲器中。然后運行CPU,將CPU實際產(chǎn)生的寄存器值和已保存過的參考值在記分牌模塊中進行實時比較,然后將結(jié)果輸出到LCD顯示屏上。

    為了便于代碼的管理和維護,可以對原RTL代碼進行一定的封裝。將原ASIC流程的代碼單獨封裝在一個模塊中,再和FPGA實現(xiàn)時添加的片外配置控制單元的代碼一起形成新的FPGA實現(xiàn)頂層。所以在ASIC代碼的基礎(chǔ)上增加了對這幾個器件完成配置工作的代碼部分。

    為了原型系統(tǒng)獲得更高的性能,還可以對其他一些模塊的代碼進行適當?shù)母倪M,如算術(shù)單元和狀態(tài)機的編碼風格等。但對于全定制的cpu bc320,沒有必要修改算術(shù)單元模塊的代碼,關(guān)鍵是存儲模塊和時鐘單元。因此要根據(jù)自己的設(shè)計適當選擇要修改的代碼。

  • 上一篇: 8MHz極速開關(guān)調(diào)整器技術(shù)
  • 下一篇: 基于FPGA技術(shù)實現(xiàn)DSP的UART
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1