“合抱之木,生于毫末;九層之臺,起于壘土;千里之行,始于足下。” 老子《道德經》 對于新手來說,如何上手調試FPGA是關鍵的一步。 對于每一個新設計的FPGA板卡,也需要從零開始調試。 那么如何開始調試? 下面介紹一種簡易的調試方法。 (1) 至少設定一個輸入時鐘 input sys_clk; (2) 設定輸出 output [N-1:0] led; (3)設定32位計數器 reg [31:0] led_cnt; (4) 時鐘驅動計數器開始工作 always@(posedge sys_clk) led_cnt FPGA ,在UCF文件中 NET “sys_clk” LOC = 管腳名稱 如果為ALTERA FPGA ,在QSF文件中,添加 set_location_assignment 管腳名稱 -to sys_clk 其他管腳,可依次類推。 (7)編譯,布局、布線,生成配置文件。 XILINX 生成BIT文件。 ALTERA 生成SOF文件 (8)連接JTAG,下載相應的配置文件。 (9)觀察是否閃燈(肉眼可見)。 關于閃燈的解釋如下: assign led = led_cnt[M:N]; led_cnt 為32bit的信號,需要幾個閃燈,則根據輸入時鐘的頻率和肉眼能夠分辨的時間(100ms)。如輸出時鐘為25Mhz。則閃燈看見的位置能夠分批到10hz。需分頻2.5M= 32‘h2625A0,因此,則需要輸出至少為led_cnt[21]位,才能看到閃燈。 雖然程序簡單,但是,通過調試可以確認: (1)首先可確定JTAG下載器的正確連接,能夠正常下載下載文件。如不能,常見問題包括 (一)檢查是否安裝驅動。 (二)下載器是否由紅燈變成黃燈/綠燈。如紅燈亮一般情況下,JTAG的與電路板VCC沒有供電。 (三)檢查JTAG連接的線序。 (四)檢查JTAG電路,檢查原理圖上TMS,TDI,TDO的上拉和下拉電阻是否與datasheet中一致。 通過以上四種方式,可排除絕大部分JTAG下載的錯誤。 (2)可以判斷晶振是否起振,下載后無燈閃。 (一)首先,示波器查看晶振頻率,觀察晶振的輸出,如無輸出,查看晶振的電源和地信號,如電源正常,而晶振無反應,則更換晶振。 (二)如無示波器,也有替代的方法,通過嵌入式邏輯分析儀抓信號(任意信號)。如邏輯分析儀點擊采樣后無反應,則無時鐘輸入。 這是因為邏輯分析儀也需要時鐘進行邏輯值的存儲。 (3)如正常下載后閃燈,證明該FPGA板卡硬件設計上能夠達到最低限度的FPGA調試狀態。 最后,說明一下,為什么是閃燈而不是亮燈的程序,這是因為,首先閃燈可以判斷外部晶振工作正常,并且由于LED等通常為上拉,也就是說邏輯值0表示燈亮,而也不排除某硬件工程師非要下拉。邏輯1表示亮。因此采用閃燈更加方便。 問題:為什么LED燈值為什么要上拉? 這是因為:LED上拉后,需要燈亮時電流由外部電源提供,而下拉,燈亮時電流由芯片的CMOS電路驅動。這種在設計中應避免。 |