概述
Basys 3 支持以下三種方式配置/下載程序:
. JTAG
. Quad SPI Flash
. USB Flash Drive
此教程旨在告訴初學(xué)者如何開始創(chuàng)建工程項(xiàng)目以及分別通過以上三種方法下載工程項(xiàng)目到Basys3 FPGA開發(fā)板上。
?
前期準(zhǔn)備
硬件
. Basys3 FPGA開發(fā)板
. Micro-USB線
軟件
. Vivado Design Suite 2017.1
? 新版或舊版Vivado均可使用,但是步驟可能有些許不同
源文件
. basys3_sw_demo.zip
教程
1. 創(chuàng)建工程項(xiàng)目
首先,我們要創(chuàng)建一個工程項(xiàng)目
1.1 打開Vivado,在初始界面單擊‘Create Project’。
1.2 在新彈出的窗口中單擊‘Next’。
1.3 輸入創(chuàng)建的項(xiàng)目名稱,選擇項(xiàng)目的保存路徑,然后單擊‘Next’。
1.4 我們將從底層開始完整的創(chuàng)建一個項(xiàng)目,所以這邊我們選擇創(chuàng)建一個‘RTL Project’,然后單擊‘Next’。
1.5 在這個窗口中,我們可以添加任何項(xiàng)目中需要用到的源文件或者文件夾,創(chuàng)建新的空文件,選擇目標(biāo)編程語言和模擬器語言。在這個教程中,我們只需要添加壓縮包中已經(jīng)編輯好的源文件即可。單擊窗口左上角的26.png選擇‘Add Files…’或者直接單擊窗口中間的‘Add Files’,找到解壓文件夾中的‘sw_led.v’文件,單擊‘OK’。需要勾選‘Copy sources into project’, 這樣Vivado會復(fù)制一份源文件到創(chuàng)建的工程項(xiàng)目文件夾中。否則,Vivado不會復(fù)制源文件到項(xiàng)目文件夾中,而是直接讀取/修改源文件。單擊‘Next’。
1.6 在這個窗口中可以添加約束文件(.xdc),在這個樣例中仿照上一步找到解壓文件夾中‘Basys3_sw_Demo.xdc’文件添加即可。單擊‘Next’。
>
1.7 在這個窗口中,我們要選擇Basys3開發(fā)板。單擊‘Board’,搜索‘Basys3’,選中Basys3開發(fā)板,單擊‘Next’。
1.8 這個窗口是創(chuàng)建新的工程項(xiàng)目的總結(jié)信息,單擊‘Finish’。
2. 創(chuàng)建下載文件(Program File)
Basys3 FPGA可以使用三種方式將文件下載到Basys3 FPGA開發(fā)板上,有兩種支持的文件類型,.bit文件和.bin文件。.bit文件可以通過JTAG下載線或者標(biāo)準(zhǔn)USB存儲設(shè)備下載到Basys3 FPGA。.bin文件將在每次通電時自動通過Quad SPI下載到Basys3 FPGA。接下來將會介紹配置Basys3的準(zhǔn)備步驟:
2.1 Vivado默認(rèn)只會生成.bit文件,之后將介紹通過Quad SPI配置Basys3 FPGA,所以需要通過如下步驟生成.bin文件。
在‘Project Manager’中單擊‘Settings’
在‘Project Settings’中單擊‘Bitstream’,勾選‘-bin_file’選項(xiàng),單擊‘OK’。
2.2 接下來,我們需要對工程項(xiàng)目進(jìn)行綜合,單擊主界面左側(cè)‘Flow Navigator’中的‘Run Synthesis’。使用默認(rèn)路徑保存綜合和實(shí)現(xiàn)文件,單擊彈出窗口中的‘OK’。
2.3 綜合完成后會彈出窗口,選中‘Open Synthesized Design’,單擊‘OK’查看綜合結(jié)果。
2.4 我們可以在窗口右側(cè)看到工程項(xiàng)目在Basys3 FPGA上的綜合結(jié)果。
2.5 為了提高.bin文件的下載速度,需要設(shè)置Vivado使其允許對比特流進(jìn)行壓縮。單擊主工具欄中的‘Tools’>單擊‘Edit Device Properties…’。在彈出窗口的General一項(xiàng)中,將‘Enable Bitstream Compression’設(shè)置為‘TRUE’。
2.6 在Configuration一項(xiàng)中將‘Configuration Rate (MHz)’設(shè)置為33 MHz。
2.7 在Configuration Modes一項(xiàng)中勾選‘Master SPI x4’。單擊‘OK’。
2.8 對之前的設(shè)置進(jìn)行保存(Ctrl+S)。Vivado會提示需要更新約束文件,單擊‘OK’即可。在‘Flow Navigator’中展開‘Program and Debug’,單擊‘Generate Bitstream’。
2.9 Vivado會提示還沒有對項(xiàng)目進(jìn)行仿真實(shí)現(xiàn)(Implementation),如下圖單擊‘Yes’,Vivado會先進(jìn)行實(shí)現(xiàn),然后生成比特流文件(.bit和.bin),將文件保存在默認(rèn)路徑下,單擊‘OK’。
2.10 Vivado會開始生成.bit文件和.bin文件。完成后,會彈出如下窗口,我們可以選擇‘Open Implemented Design’查看實(shí)現(xiàn)的結(jié)果,或者選擇‘View Reports’查看完整的設(shè)計(jì)報(bào)告。
至此,我們已經(jīng)完成了將工程項(xiàng)目下載到Basys3 FPGA開發(fā)板的準(zhǔn)備工作。接下來,將分別介紹通過三種方式下載/配置Basys3 FPGA。
3. 通過JTAG下載/配置Basys3
JTAG是通過micro-USB端口和PC進(jìn)行通信的,主要用于下載,調(diào)試和端口探測。這使得Basys3 不僅可以通過micro-USB端口供電,而且可以通過micro-USB端口進(jìn)行下載和調(diào)試。
3.1 首先,將模式跳線JP1設(shè)置成JTAG模式,將Basys3通過micro-USB連接到PC的USB接口,打開電源。在‘Flow Navigator’中,單擊‘Open Target’,選擇‘Auto Connect’。在Hardware窗口中,我們可以看到Basys3 FPGA已經(jīng)完成了和PC的連接。
3.2 單擊頂部綠色條中的‘Program device’或者‘Open Hardware Manager’中的相同選項(xiàng)。選擇之前生成.bit文件路徑,單擊‘Program’。
當(dāng)Basys3 FPGA開發(fā)板右上角的DONE LED燈亮起時表示下載完成。在這個設(shè)計(jì)樣例中我們可以通過使用Basys3下方的撥碼開關(guān)來控制對應(yīng)的LED燈。
4. 通過USB閃存設(shè)備下載/配置Basys3
需要注意的是,通過USB設(shè)備下載/配置Basys3只支持FAT32格式。而且USB設(shè)備必須是空白的,不能有其他文件或文件夾。我們可以通過以下步驟使用USB設(shè)備下載.bit文件到Basys3:
4.1 將模式跳線JP1設(shè)置成USB模式。
4.2 將U盤格式化成FAT32文件系統(tǒng)。
4.3 復(fù)制.bit文件(路徑 C:/Vivado/project_1/project_1.runs/impl_1/sw_led.bit)
4.4 粘貼.bit文件到USB設(shè)備的根目錄。
(注意:USB設(shè)備的根目錄中只能有此次需要下載.bit文件)
4.5 從PC安全移除USB設(shè)備并插入Basys3的USB接口。
4.6 通過micro-USB端口連接PC為Basys3提供電源。
4.7 打開Basys3電源,Basys3將立即從USB設(shè)備中下載.bit文件。
4.8 DONE LED燈亮起表示下載完成,可以進(jìn)行調(diào)試。
5. 通過Quad SPI閃存下載/配置Basys3
Quad SPI閃存是一種非易失性的存儲介質(zhì),Basys3 FPGA芯片在每次啟動(上電)時都會讀取里面的內(nèi)容。這就意味著Basys3只要通電就會自己從Quad SPI閃存中下載/配置,配置的速度非常快,適用于已經(jīng)完成的設(shè)計(jì)項(xiàng)目的最終展示或演示使用。Quad SPI閃存支持重復(fù)燒寫,下一次燒寫會擦除上一次燒寫的內(nèi)容。通過Quad SPI閃存下載/配置Basys3僅支持.bin文件或.mcs文件,具體步驟如下:
5.1 將模式跳線JP1設(shè)置成QSPI模式。
5.2 在Hardware Manager窗口中的Hardware下右鍵已經(jīng)連接的設(shè)備(xc7a35t_0),選擇‘Add Configuration Memory Device…’
5.3 在彈出的窗口中搜索‘spansion’,選擇32位的設(shè)備(如下圖所示)。單擊‘OK’。彈出提示窗是否需要現(xiàn)在下載,單擊‘OK’。
5.4 在Configuration file一欄中添加.bin文件,單擊‘OK’。
Vivado會開始擦除上一次燒寫在Quad SPI閃存中的配置文件,然后將新的配置文件(.bin文件)燒寫到閃存中,之后Basys3開發(fā)板只要通電就會自動從閃存中配置開發(fā)板。
評論
查看更多