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


 本文由遠航路上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核生成時所設置的參數。

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM