Lattice 的 Framebuffer IP核使用調試筆記之IP核產生與參數設定

來源:互聯網
上載者:User

標籤:

 本文由遠航路上ing 原創,轉載請標明出處。

  這節筆記記錄IP核的產生以及參數設定。

      先再IP庫裡下載安裝Framebuffer 的ipcore 並安裝完畢。

  一、IP核的產生:

       1、先點擊IP核則右邊會出現產生對話方塊:

      按箭頭指示順序進行設定:要設定產生ip核的路徑(可以建立一個檔案夾ipcore來放置IP核,若有多個IP核則在ipcore下分別建立檔案夾),IP核的名字,以及語言的類型:verilog或VHDL。最後點擊Customize.

        

   2、 在上一步設定之後會出現下面的設定介面,先設定輸入視頻格式,有三種:YCbCr422,YCbCr444 or RGB ,單訊號。在動態參數更新未被選擇時(靜態模式),輸入視訊框架的高度與寬度是固定的,在方框內直接填入,注意範圍為64--4096,不過建議大於64,否則可能無視頻被採集到。在選擇動態模式時,此處填寫的資料為最大的高度與寬度,實際的高度與寬度要以參數設定為準。

     

    選擇Parallel processing 之後,則資料會是並行資料;16bit,否則為串列資料:8bit。

   選擇Frame rate conversion之後,啟動幀率轉換,會加入一個輸入連接埠OCLK,否則就會就會按輸入訊號時鐘輸出。

   在選擇了動態配置的情況下,介面如下:

   

   幀率的高度和寬度設定變為了最大解析度設定。同時左側會多出設定參數的訊號。時序圖見datasheet.

  對於寬度和高度設定的寄存器的地址為:

     

      在動態設定的時候,每個寄存器的size為32,則佔用4個位元組,所以設定的時候可以兩個位元組分開設定,比如設定FRMWIDTH時,地址為0x00時設定低2位元組,0x02時設定高2位元組。設定幀高度和寬度的資料為實際資料-1.比如解析度大小為1920*1080,則送人的資料應為1919*1079.

3、先設定像素的寬度(8/9/10)。

       再設定儲存匯流排寬度,這個與DDR的資料匯流排寬度一致,(一般framebuffer ip核接DDR的ip核,所以與ddr  ip核的資料匯流排寬度一致)。

       parameter  bus width 的寬度可以為8/16/32bit,根據最大解析度的位元來選擇參數匯流排的寬度。

       選擇分離參數時鐘,則會多出一個pclk的時鐘輸入連接埠,根據pclk的時鐘來設定參數;若不選此項,則根據輸入時鐘來設定時鐘參數。

       選擇同步複位選項,則多出一個同步複位的連接埠。

       output frame size ports 連接埠,選擇此項則會多出兩個連接埠來表示輸出幀的長度和寬度,這兩個參數在frmsync_out有效時候才會更新。

 4、設定FIFO的類型,有兩種,

     設定FIFO的深度,則FIFO所儲存的總的資料為:depth*bus width==64(depth)*64(bus width) = 64*4*16(ddr晶片的資料位元寬) = 256*16個16bit的資料,

則在資料存放區量到總儲存量的一半的時候出發DDR的寫操作,則一次寫入的資料為128*16bit的資料,則Framebuffer IP會向DDR 的IP送出32個64bit(bus width)的資料。

    設定DDR 儲存的突髮長度和命令突發計數。此兩處的值要與DDR的設定相配合才可以。(詳細配合後面再說)

 

    最後點擊Generate  則等一段時間就可以產生了。

 

    在產生之後,檔案夾內會產生一些檔案:

      

       其中紅線內部的兩個檔案可以作為綜合的檔案加入工程(兩者其一即可),藍線內的檔案可以作為前模擬檔案加入工程。

 而頂層檔案和參數檔案在frame_buffer_eval檔案夾內部。

       開啟frame_buffer_eval檔案夾,出現兩個檔案夾,testbench檔案夾內部是前模擬的外部輔助檔案,在模擬時要把這兩個檔案加入到工程內,並選擇為只模擬。

 frame_bru8_c1檔案夾內部存放著頂層檔案,參數檔案和modelsim模擬的.do檔案。

  所示,sim檔案夾內部是模擬的.do檔案,而src檔案夾內部是頂層檔案(rtl)和參數檔案(params)。

      

將此檔案加入工程,作為頂層檔案。

在params檔案夾內找到params.v檔案,這是參數檔案,但是本工程不需要也不用添加。

開啟params.v檔案可以看到內部的參數都是IP核產生時所設定的參數。

   

Lattice 的 Framebuffer IP核使用調試筆記之IP核產生與參數設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.