有我的VHDL code,有BDF desing。我的程序在ModelSim中工作,但在真實FPGA板上不起作用
當我在ModelSim中模擬我的VHDL代碼時,它工作正常,但是當我在Quartus中模擬它或上傳到FPGA Cyclone板時,LED沒有信號。 IDK,我想以什麼方式來看待。
有我的VHDL code,有BDF desing。我的程序在ModelSim中工作,但在真實FPGA板上不起作用
當我在ModelSim中模擬我的VHDL代碼時,它工作正常,但是當我在Quartus中模擬它或上傳到FPGA Cyclone板時,LED沒有信號。 IDK,我想以什麼方式來看待。
我快速瀏覽了你的代碼,雖然看起來在語法上是正確的,但它看起來並不真實(儘管它可能是)。
例如:
led_size : process(clk, size)
begin
if size = '1' then
led_size_f <= led_size_f +1;
end if;
if led_size_f > 4 then
led_size_f <=1;
end if;
end process;
,它甚至沒有使用clk
,它也將產生一個鎖存器(通常是一件壞事,除非你是絕對肯定你在做什麼),這將當試圖在FPGA中運行時,很可能會給您帶來問題。
我可以發佈更多的例子,但如果我是你,我會嘗試查看你最可能從你的綜合工具獲得的警告列表。
此外,請查看您的IDE是否帶有一些用於同步設計的模板,然後嘗試遵守這些模板,以確保您確實推斷出您需要的硬件。
因此,我刪除了不使用它的clk,並編譯了程序,並查看了'Warning:LATCH原語「knight_rider2:inst | led3」被永久禁用。也許這意味着,我在某處忘記了什麼? – JohnDow
'信息:引腳「LEDR [0]」沒有指定的輸出引腳負載電容 - 假設默認的負載電容爲0 pF用於時序分析「 – JohnDow
這不僅僅是將」clk「從不使用的位置移開 - 您在進行VHDL開發時需要「Think Hardware」(tm)。您的代碼需要綜合並映射到您的FPGA器件中可用的硬件,而使用您可以編寫的所有語法正確的VHDL,這是遠遠不可能的。如上所述,您需要遵循一些特定的模板,以使您的代碼正確映射到硬件。一本很好的VHDL書籍可以幫助你做到這一點 - 並且IDE中的幫助功能也可以。 – sonicwave
您是否嘗試將簡單VHDL代碼的完整性檢查上傳到您的主板? Cyclone板是否帶有測試比特流來驗證基本操作? –
你的意思是說Cyclone不工作?它的大學課桌(> 10),我的程序也不適用於Quartus模擬。 – JohnDow
您是否首次完成了閃爍一個LED的設計?這只是十幾行代碼,直到你有這樣的工作,並理解你是如何得到它的,從「它在仿真中起作用」到「它在芯片上起作用」有很大的提升 –