2013-03-21 29 views
1

我正在研究一個VHDL項目,這個項目將被放置到斯巴達6 fpga上。代碼已準備就緒,但我不知道如何繼續將其加入到fpga中。如何把VHDL項目放在Spartan 6 FPGA上

我可以訪問另一個項目,並注意到這個項目中有一個Microblaze處理器(.xmp)文件和一個定義了所有「NET」接口的ucf文件。

最終我將使用FPGA和附加板連接器與一塊硬件進行通信,但我需要將所有內容移動到FPGA上。

一些資源和教程會很棒,尤其是如何讓我的項目中使用微博處理器,即使我甚至需要它。

感謝

更新: 我開始我的項目的模擬,並有一個錯誤。

214線:語句是綜合的,因爲它沒有下NOT(鍾邊)條件保值

我得到這個在我的項目文件中的一個在全日空的聲明,如果說

if rising_edge(clk) then 
-- other if statements that assign output values 
end if 

我試着改變代碼,但如果我這樣做,它不再有效。

不確定錯誤意味着什麼。

+1

如果您的項目是純VHDL而沒有嵌入式CPU。你可以忽略Microblaze。 UCF非常重要:除此之外,您可以使用它將您的VHDL端口名稱映射到連接到電路板上器件的FPGA引腳。 – 2013-03-21 13:37:04

+0

@BrianDrummond - 感謝您的信息。我不使用任何Microblaze,所以我不需要這些。有關如何開始將ucf文件放在一起的任何想法?謝謝 – RXC 2013-03-21 13:57:27

回答

3

UCF文件應包含屬於每個信號的引腳以及任何時序條件的約束。 「最簡單」的方法是閱讀編寫這些文件的指南,或者使用內置工具幫助您正確獲取它們。

Here是Xilinx指南。

Thiis是最重要的約束之一:

TIMESPEC「TSidentifier」 = PERIOD「TNM_reference」期間{HIGH | LOW} [high_or_low_time] INPUT_JITTER value; (切從上面的文件)

1

一個新的VHDL開發商最好的教程是簡短的教程「介紹斯巴達3E FPGA和VHDL,由Mike領域。你可以從下載PDF和所有的源代碼他GitHub account,或瀏覽chapters for the book on his website

你會去從一個簡單的Hello World相當於FPGA,使用DCM和生成VGA信號,在幾個小時內。

邁克同時使用鳳蝶One和Digilent公司本書中的Basys2電路板,但您可以輕鬆地將這些示例調整爲您使用的任何電路板,您只需調整UCF文件因此。他使用Spartan-3並且使用Spartan-6的事實不應該有任何改變。

UCF或用戶約束文件是告訴FPGA與外部世界的連接的文件。 UCF高度依賴於您的特定硬件,因爲每個電路板都有一組不同的引腳。您可能正在使用一家受歡迎的製造商提供的主板,因此您只需查看特定硬件的文檔。

找到您的特定電路板的原始UCF文件後,建議您刪除所有未使用的行(意思是:所有未連接到vhdl代碼內的任何節點),否則編譯器將會引發警告或錯誤。

這應該足以讓你開始。

ps:如果您沒有任何特定的理由使用MicroBlaze,現在可以放心地忽略它。