FPGA開發——vivado使用及xilinx Artix7開發筆記

    小生才疏學淺,孤陋寡聞,下文若有不當之處,還請賜教

一、vivado開發

1、error

1、synth8-5535 ? clk100 has illegal connection Xvendor=%s Xleid=%d Xhiername=%s"

      解決:從引腳輸入的clk100不可以直接作爲多個模塊的輸入信號

2、關於microblaze使用

   microblaze是內嵌在FPGA中的軟核,一個工程文件可設置多個micrablaze

3、vivado HLS 代碼中疊加或疊減符

在vivado HLS中寫C/C++是不可使用疊加或者疊減符號,否則在RTL綜合時或將某一個量定義成input/output型。

4.關於Vivado IP的兩種綜合方式:Global 和 Out-Of-Context,見鏈接:

https://blog.csdn.net/Setul/article/details/81903800

5.vivado SDK 中program FPGA時不能更新download.bit

鄙人用的是vivado 2018.2,原因到xilinx官方論壇,百度找了一圈都沒找到,估摸着是SDK本身的BUG;最後我把原hw_platform_x的download.bit文件刪掉,新建了一個空的download.bit文件,重新program FPGA就好了;本來是想直接新建一個hw_platform_x+1來着,找了一圈也沒找到怎麼新建;不知道有沒有朋友遇到過這種情況,還望在評論區留言解惑。

6.vivado SDK 編譯.C文件時出現頭文件錯誤

我遇到的是SDK自己的頭文件說沒有聲明,之前都好好的,突然說沒有該文件,後來多編譯幾次就好了,很奇怪,不知道原因,難道是SDK 的BUG?

二、XILINX FPGA芯片特性

     1、IO特性

       (1)輸入輸出標準:

               單端模式:可配置爲LVCMOS,LVTTL,HSTL,PCI,SSTL電平標準,例如按鍵輸入,led驅動等;

               差分輸入輸出(兩個IO引腳):可以設置爲LVDS,Mini_LVDS,RSDS,PPDS,BLVDS,以及差分HSTL和SSTL標準,這                                                                      樣可增強FPGA的應用範圍,處理不同類型的信號。

        (2)引腳可分爲高效引腳(HP)和寬範圍引腳(HR)

                HP:追求高效率,例如訪問高速存儲器和其他芯片間接口,電壓最高1.8V;

                HR:滿足寬範圍應用的IO標準,電壓最高3.3V

     2、內部存儲器

                FPGA的內部存儲器有兩種:BRAM(塊RAM)和DRAM(分佈RAM)。

               二者最本質的區別是:BRAM默認輸入有寄存器,所以它在讀、寫使能信號後的下一個時鐘沿返回數據;而DRAM         就沒有,就是個組合邏輯,讀、寫使能的同一時刻返回數據,即給地址就給數據。從時序的角度上來說,BRAM更好,唯一不足的是它是比較珍貴的硬件資源。

          (1)DRAM

               是由FPGA邏輯資源查找表LUT拼起來的。

          (2)BRAM

               FPGA 的固有硬件資源,主要用於產生較大FIFO或timing要求較高。可配置爲同步雙端口RAM和單端口RAM,每個雙端口的36Kbit BRAM         

      3、時鐘管理資源

        MMCM(mixed-mode clock manager):混合模式時鐘管理器,用於在與給定輸入時鐘有設定的相位和頻率關係的情況下,生成不同的時鐘信號。

        PLL(phase-locked loop):鎖相環,主要用於頻率綜合,使用一個PLL可以從一個輸入時鐘信號生成多個時鐘信號。

        PLL輸入時鐘的頻率範圍爲19~1066MHz。相較而言MMCM的頻率範圍更寬爲10~1066MHz。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章