<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > FPGA研發(fā)之道(5)從零開(kāi)始調試FPGA

FPGA研發(fā)之道(5)從零開(kāi)始調試FPGA

作者: 時(shí)間:2014-10-20 來(lái)源:網(wǎng)絡(luò ) 收藏

  “合抱之木,生于毫末;九層之臺,起于壘土;千里之行,始于足下?!?老子《道德經(jīng)》

本文引用地址:http://dyxdggzs.com/article/264140.htm

  對于新手來(lái)說(shuō),如何上手調試是關(guān)鍵的一步。

  對于每一個(gè)新設計的板卡,也需要從零開(kāi)始調試。

  那么如何開(kāi)始調試?

  下面介紹一種簡(jiǎn)易的調試方法。

  (1) 至少設定一個(gè)輸入時(shí)鐘 input sys_clk;

  (2) 設定輸出 output [N-1:0] led;

  (3)設定32位計數器 reg [31:0] led_cnt;

  (4) 時(shí)鐘驅動(dòng)計數器開(kāi)始工作

  always@(posedge sys_clk)

  led_cnt <= led_cnt + 1

  (5)輸出led信號。

  assign led = led_cnt[M:N];

  程序完成。

  (6)設定管教約束

  如果為XILINX ,在UCF文件中 NET “sys_clk” LOC = 管腳名稱(chēng)

  如果為ALTERA FPGA ,在QSF文件中,添加 set_location_assignment 管腳名稱(chēng) -to sys_clk

  其他管腳,可依次類(lèi)推。

  (7)編譯,布局、布線(xiàn),生成配置文件。

  XILINX 生成BIT文件。

  ALTERA 生成SOF文件

  (8)連接,下載相應的配置文件。

  (9)觀(guān)察是否閃燈(肉眼可見(jiàn))。

  關(guān)于閃燈的解釋如下:

  assign led = led_cnt[M:N]; led_cnt 為32bit的信號,需要幾個(gè)閃燈,則根據輸入時(shí)鐘的頻率和肉眼能夠分辨的時(shí)間(100ms)。如輸出時(shí)鐘為25Mhz。則閃燈看見(jiàn)的位置能夠分批到10hz。需分頻2.5M= 32‘h2625A0,因此,則需要輸出至少為led_cnt[21]位,才能看到閃燈。

  雖然程序簡(jiǎn)單,但是,通過(guò)調試可以確認:

  (1)首先可確定下載器的正確連接,能夠正常下載下載文件。如不能,常見(jiàn)問(wèn)題包括

  (一)檢查是否安裝驅動(dòng)。

  (二)下載器是否由紅燈變成黃燈/綠燈。如紅燈亮一般情況下,的與電路板VCC沒(méi)有供電。

  (三)檢查JTAG連接的線(xiàn)序。

  (四)檢查JTAG電路,檢查原理圖上TMS,TDI,TDO的上拉和下拉電阻是否與datasheet中一致。

  通過(guò)以上四種方式,可排除絕大部分JTAG下載的錯誤。

  (2)可以判斷晶振是否起振,下載后無(wú)燈閃。

  (一)首先,示波器查看晶振頻率,觀(guān)察晶振的輸出,如無(wú)輸出,查看晶振的電源和地信號,如電源正常,而晶振無(wú)反應,則更換晶振。

  (二)如無(wú)示波器,也有替代的方法,通過(guò)嵌入式邏輯分析儀抓信號(任意信號)。如邏輯分析儀點(diǎn)擊采樣后無(wú)反應,則無(wú)時(shí)鐘輸入。

  這是因為邏輯分析儀也需要時(shí)鐘進(jìn)行邏輯值的存儲。

  (3)如正常下載后閃燈,證明該FPGA板卡硬件設計上能夠達到最低限度的FPGA調試狀態(tài)。

  最后,說(shuō)明一下,為什么是閃燈而不是亮燈的程序,這是因為,首先閃燈可以判斷外部晶振工作正常,并且由于LED等通常為上拉,也就是說(shuō)邏輯值0表示燈亮,而也不排除某硬件工程師非要下拉。邏輯1表示亮。因此采用閃燈更加方便。

  問(wèn)題:為什么LED燈值為什么要上拉?

  這是因為:LED上拉后,需要燈亮時(shí)電流由外部電源提供,而下拉,燈亮時(shí)電流由芯片的電路驅動(dòng)。這種在設計中應避免。

fpga相關(guān)文章:fpga是什么


塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
晶振相關(guān)文章:晶振原理
上拉電阻相關(guān)文章:上拉電阻原理


關(guān)鍵詞: FPGA JTAG CMOS

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>