FPGA教程貼之 ISE中的實(shí)例仿真及復(fù)雜的程序燒錄
上一篇教程分享了一些64 位操作系統(tǒng)中的bug問題解決方法印蔬,這一篇教程將把這周Alex老師講的內(nèi)容以總結(jié)的形式分享給大家洒试,期望能給各位在本節(jié)課的學(xué)習(xí)中提供一些幫(zao)助(ri)(tuo)(keng)碟绑。
新建工程
打開Xilinx PlanAhead 14.7 后在桌面點(diǎn)擊 Create New Project 新建工程項(xiàng)目
-
next 后 填寫 project name And project location 注意 這兩項(xiàng)不要包含有中文或特殊符號(hào)
next 選擇項(xiàng)目類型杀饵,我們選第一個(gè)RTL Project
next 創(chuàng)建一個(gè)Sources項(xiàng)目文件用于編寫VHDL程序怕轿,最下角選擇編程語言祝辣,我們選擇VHDL畜号,然后點(diǎn)擊Create File 創(chuàng)建 Source文件尿这;創(chuàng)建好后如下圖所示簇抵,之后繼續(xù)next
接下來的添加 Existing Ip 暫時(shí)跳過,constraints 如第四步一樣創(chuàng)建一個(gè)文件射众,這個(gè)文件用于physical and timing constraints碟摆,本章節(jié)用于IO管腳的定義。
next 選擇芯片型號(hào)叨橱,我買的是Xc6slx9ftg256-2 典蜕,直接搜索框輸入FPGA芯片型號(hào)后選定他,然后點(diǎn)擊finish罗洗;
- 最后是Module的IO管腳定義愉舔,這里提前定義好的IO管腳在后面會(huì)直接生成寫好的port管腳配置代碼,比較方便伙菜。管腳定義好后點(diǎn)擊ok轩缤,一個(gè)project就搭好了 !
代碼編寫及PC端仿真
- 你的工程搭好后會(huì)是這個(gè)樣子:
我們首先在project manager 中點(diǎn)擊剛剛創(chuàng)建的source文件贩绕,然后你就能看到程序幫你寫好框架和Port項(xiàng)的source文件火的,我們?cè)?3行begin 后面添加自己的代碼:
- 在project manager 中點(diǎn)擊剛剛創(chuàng)建的第二個(gè)文件:constraints文件
這個(gè)文件中我們需要把在source文件中寫的 a,b,put1,put2 Port端口和外界相連,輸入端口a,b 連接開關(guān)key淑倾,輸出端口put1,2 連接Led卫玖;我們參考商家為我們這塊板子寫好的一個(gè)ucf文件:ax309.ucf,其中可以看到這個(gè)FPGA芯片的引腳都連接了哪些東西:
- 我們查找到key 和led連接到這些端口后踊淳,復(fù)制選中的端口到工程中我們自己的constraints文件中:修改成符合我們要求的代碼假瞬;
- 點(diǎn)擊下圖中的保存按鈕(或者如圖中的快捷鍵所示)陕靠,然后會(huì)彈出下圖的reload框,點(diǎn)擊進(jìn)行reload 養(yǎng)成定時(shí)保存項(xiàng)目是一個(gè)好習(xí)慣(微笑)
- 點(diǎn)擊左側(cè) RTL Analysis 中的 Schematic脱茉,創(chuàng)建原理圖(代碼有錯(cuò)誤時(shí)會(huì)一下幾步都編譯不通過)預(yù)覽框中會(huì)出現(xiàn)硬件原理圖剪芥;
- 點(diǎn)擊左側(cè)的 Run Synthesis,等待一段時(shí)間編譯過后會(huì)在底部出現(xiàn)io配置琴许,檢查是否如你ucf文件中配置的那樣税肪;
- 點(diǎn)擊左側(cè)的 Run Implementation 等待一段時(shí)間
- 點(diǎn)擊左側(cè)的Generate Bit Stream 生成FPGA核 文件代碼
- 最后點(diǎn)擊 lanch chipscope analyz 進(jìn)行分析器仿真
- 接下來連接FPGA板到電腦后按照截圖一步步走,最后燒錄成功榜田!
OTHER
小吐槽----FPGA開發(fā) 屬于EDA(electronic design automation)類型的開發(fā)方式益兄,
對(duì)于以前一直接觸單片機(jī)和altium的我yyming來講是自動(dòng)化程度最高的一種開發(fā)方
式了。箭券。還是有點(diǎn)小期待的净捅,但同時(shí)跟著教程一路走來的大家也可以發(fā)現(xiàn),F(xiàn)PGA
開發(fā)最大的缺點(diǎn)就是繁瑣和慢辩块,下載編譯一個(gè)程序都要搞這么復(fù)雜也是沒誰了蛔六。