目錄html
時間 | 做者 | 版本 | 備註 |
---|---|---|---|
2018-10-09 08:38 | beautifulzzzz | v1.0 | 到3 |
2018-10-18 07:23 | beautifulzzzz | v2.0 | risc-v (4) |
xlinx官網地址: https://china.xilinx.com/products/boards-and-kits/arty.htmlgit
1.1 產品描述github
售價 99 美圓的 Arty 評估套件可爲各類嵌入式應用實現快捷跨越式啓步,其中包括從基於 Linux 的計算密集型系統到輕量級微控制器等各類應用。 針對 Xilinx 業界最佳低端產品性能功耗比 Artix®-7 35T FPGA 精心設計Arty 套件具備 Xilinx 可針對幾乎任何處理器使用案例進行定製的 MicroBlaze™ 處理器。web
1.2 主要性能和優點編程
1.3 特點 Xilinx 器件ubuntu
項目 | 個數 |
---|---|
邏輯單元 | 33,280 |
DSP Slice | 90 |
存儲器 | 1,800 |
GTP 6.6Gb/s 收發器 | 4 |
I/O 引腳 | 250 |
注:包含 Artix-7 XC7A35T-L1CSG324I FPGA網絡
1.4 電路板特性dom
下圖是整個開發板上資源的概覽,更詳細的能夠參考:ide
注:板子自帶JTAG,用於燒寫FPGA固件的,DEBUG得用外置工具工具
1.5 視頻資源
介紹用開發IDE如何鏈接到開發板、燒寫程序、及一些簡單的介紹
打開vivado,將開發板用一根數據線鏈接到電腦上,點擊設備管理找到對應的設備;在工程頁面,雙擊XADC能夠出來一個溫度曲線(這個視頻花很大篇幅講了XADC);右鍵點擊xc7a35t,選擇program device能夠燒寫程序;
使用 Arty Eval Kit 在 Artix-7 A35T 器件上評估 AMSXADC
瞭解如何快速簡單地在 Artix-7 A35T Arty 評估套件上不用任何 HDL而使用簡單有效的 IPI 內置設計來評估 Xilinx 模擬混合信號 (AMS) 技術。 視頻還展現了一些 TCL 腳本,經過 Vivado 輕鬆與 XADC 交互並後置處理數據。
MicroBlaze WebServer Demo for the ARTY Evaluation Kit
展現了用freeRTOS工程的網絡接口,作一個webserver
START地址: https://reference.digilentinc.com/reference/programmable-logic/arty/start
2.1 兩種開發方法HDL/SOC
FPGA讓Arty變得很是靈活。在衆多的特色中,FPGAs有能力轉換成定製的軟件定義的片上系統(SoC)。這些「軟SOC」FPGA配置使用圖形化的工具ViVADO IP積分器(Vivado IPI)來設計。在這個工具中,從普遍的庫中拖動預構建的外圍塊,並根據須要放入處理系統。這些預構建的外圍設備包括定時器、UART/SPI/IIC控制器以及一般在SoC或微控制器中找到的許多其餘設備。厲害的用戶還會發現,他們能夠用硬件定義語言(HDL),特別是Verilog或VHDL,來建立本身的外圍塊。對於那些對學習HDL不感興趣的人來講,Xilinx高級合成工具能夠經過用C編寫自定義外圍塊來定義它們。
ARTY的軟SOC配置由MyBLAZE處理器核心提供。MixBRAZE是32位RISC軟處理器內核,專門設計用於Xilinx FPGA。Arty SoC配置中的MicroBlaze處理器一般以100MHz運行,不過能夠設計您的SoC,使其可以在200MHz上運行。Arty經過提供16MB的非易失性程序內存和256MB的DDR3L RAM,支持具備要求高的內存需求的大型MicroBlaze程序。
在設計好SOC配置以後,Xilinx也提供了工具用於在軟核上應用程序開發。這是經過將您的SoC設計導出到Vivado IPI中並導入到Xilinx軟件開發包(XSDK)中來完成的,它是一個用於設計/調試C中的MicroBlaze程序的集成開發環境(IDE)。在IPI到XSDK切換以後,XSDK被自動配置爲包括用於SoC中包括的外圍塊的庫和示例。此時,編程Arty很是相似於編程其餘SoC或微控制器平臺:程序用C編寫,經過USB編程到板上,而後可選地在硬件中調試。軟SoC配置和MicroBlaze程序也能夠加載到16MB非易失性程序存儲器中,以便在Arty上電後當即執行。
儘管Arty特別適合Microblaze軟SoC設計,它也能夠像其餘FPGA開發同樣在門電路級別編程。此設計流程要求您在Vivado中使用HDL描述RTL電路,而且它不使用Vivado IPI或XSDK工具。這種設計有許多優勢,但與編程單板計算機很是不一樣,而是由熟悉FPGA設計或對設計和實現不包含處理器的數字電路感興趣的人使用。
2.2 電路板電源供應系統
複雜電路通常都有多個芯片負構成總體電源系統,Arty板子也一樣具有該系統:輸入包括7~15V的DC接口和Micro-USB接口;其中DC接口後還接了一個ADP2384芯片,用於將輸入電壓降到5V;5V電壓通過ADP5052芯片分壓成多種電壓,供後級系統使用;特別的ERF3012芯片用於將ADP5052電壓穩定到1.25V,用於XADC的VREF:
下表是電源系統各路的去向:
Supply | Circuits | Device | Current (max/typical) |
---|---|---|---|
5V | Onboard Regulators, RGB LEDs | IC12: Analog Devices ADP2384 | 3.5A/0.375A to 2A |
3.3V | FPGA I/O, Clocks, Flash, PMODs, LEDs, Buttons, Switches, USB port, Ethernet | IC11: Analog Devices ADP5052 | 2.2A/NA |
0.95V | FPGA Core and Block RAM | IC11: Analog Devices ADP5052 | 1.0A/0.2A to 0.8A |
1.8V | FPGA Auxiliary | IC11: Analog Devices ADP5052 | 1.0A/NA |
1.35V | DDR3L and associated FPGA bank | IC11: Analog Devices ADP5052 | 1.0A/NA |
1.25V | XADC Analog Reference | IC13: Texas Instruments REF3012 | 25mA/NA |
3.1 閃燈DEMO
Getting Started with Vivado : https://reference.digilentinc.com/vivado/getting_started/start
0) sudo 打開工程:
source /opt/Xilinx/Vivado/2018.2/settings64.sh sudo /opt/Xilinx/Vivado/2018.2/bin/vivado
1) 建立新工程,命令爲blink:
注:視頻中建立blink文件的時候,clk and led 輸入輸出屬性弄錯了,真正的是:clk是output, led是input
其中包含兩個重要文件,第一個是板子文件,另外一個是本身建立的verilog文件。對於板子文件要和本身的開發板相匹配,此外,對於本工程須要修改下板子文件(增長clk和led):
## Clock signal #set_property -dict { PACKAGE_PIN E3 IOSTANDARD LVCMOS33 } [get_ports { CLK100MHZ }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100] #create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { CLK100MHZ }]; set_property -dict { PACKAGE_PIN E3 IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100] create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { clk }]; ... ## LEDs set_property -dict { PACKAGE_PIN H5 IOSTANDARD LVCMOS33 } [get_ports { led }]; #IO_L24N_T3_35 Sch=led[4 #set_property -dict { PACKAGE_PIN H5 IOSTANDARD LVCMOS33 } [get_ports { led[0] }]; #IO_L24N_T3_35 Sch=led[4] #set_property -dict { PACKAGE_PIN J5 IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; #IO_25_35 Sch=led[5]
本身建立的.v文件爲:
module blink( input clk, output led ); reg [24:0] count = 0; assign led = count[24]; always @ (posedge(clk)) count <= count + 1; endmodule
這樣blink工程實現的功能即是:週期性的控制開發板上的LED0閃爍
2) 編譯燒寫:
接下來即是編譯+燒寫,編譯須要先點擊三角形(RUN)進行編譯,而後再點擊三角形右邊的(create bitstream)產生*.bit文件,若是沒有錯誤在messages中不會有錯誤提醒。接着左下角的PROGRAM AND DEBUG欄目中選擇Open Hardware Manager進行鏈接開發板(鏈接時選擇auto鏈接,若是找不到開發板,則說明其餘哪裏有問題):
燒寫的時候點擊左下角PROGRAM AND DEBUG區域中的program device即可:
此時點擊Flow Navigator中的RTL ANALYSIS的Schematic會產生咱們編寫代碼對應的原理圖:
注:更詳細的燒寫方法見LINK-6,bit燒寫掉電會沒有,bin燒寫會掉電保持
4.1 準備工做
1) Xilinx Artix-7 35T Arty FPGA Evaluation Kit開發板
2) ARM-USB-TINY-H(這裏我選用JLink看成Jtag用,省了點錢)
3) FPGA toolchain(下載WEB版開發工具:https://www.xilinx.com/support/download.html)
sudo chmod +x Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin sudo ./Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin
下載合適的驅動:
cd /opt/Xilinx/Vivado/2018.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/ sudo ./install_drivers
獲取Diailent板級支持文件,拷貝到Vivado下:
git clone https://github.com/Digilent/vivado-boards.git sudo cp -r vivado-boards/new/board_files/* /opt/Xilinx/Vivado/2018.2/data/boards/board_files/
返回到HOME目錄,啓動環境變量(每次新打開一個termianl去啓動VIVADO的時候,都須要執行):
source /opt/Xilinx/Vivado/2018.2/settings64.sh sudo /opt/Xilinx/Vivado/2018.2/bin/vivado
4) 經過vivado UI界面給板子配置(燒寫pre-build FPGA二進制程序)
預編譯好的二進制FPGA文件Freedom E310 Arty FPGA Dev Kit Bitstream能夠從https://dev.sifive.com/dashboard/下載(須要註冊)
打開vivado -> Hardware Manager -> 選擇板子( Micron part n25q128-3.3v,也能夠根據板子來篩選)-> add configuration memory device
燒寫完畢後,點擊PROG按鍵,demo程序將會執行,LED一、LED2會點亮,用上位機打開串口會發現LOG輸出:
sudo minicom -D /dev/ttyUSB0 Welcome to minicom 2.7.1 OPTIONS: I18n Compiled on Aug 13 2017, 15:25:34. Port /dev/ttyUSB0, 23:03:08 Press CTRL-A Z for help on special keys core freq at 65000000 Hz SIFIVE, INC. 5555555555555555555555555 5555 5555 5555 5555 5555 5555 5555 5555555555555555555555 5555 555555555555555555555555 5555 5555 5555 5555 5555 5555 5555555555555555555555555555 55555 55555 555555555 55555 55555 55555 55555 55555 5 55555 55555 55555 55555 55555 55555 55555 55555 55555 55555 55555 555555555 55555 5 SiFive E-Series Software Development Kit 'demo_gpio' program. Every 2 second, the Timer Interrupt will invert the LEDs. (Arty Dev Kit Only): Press Buttons 0, 1, 2 to Set the LEDs. Pin 19 (HiFive1) or A5 (Arty Dev Kit) is being bit-banged for GPIO speed demonstration.
BT0~3對應板子上的幾個按鍵:
******************************************************** ******************************************************** ** Avnet/Digilent Arty Evaluation Board ** ** LEDs and switches GPIO Demonstration ** ******************************************************** ******************************************************** ** Choose Task: BTN0: Print PWM value. BTN1: 'Cylon' LED display. BTN2: Scrolling LED display. BTN3: Return to this menu.
注:只要用USB數據線鏈接上就行,查看串口會發現開發板佔了兩個USB,依次打開,第二個發現會有LOG輸出
注:此外上位機串口工具請參考: https://blog.csdn.net/zoujiachi666/article/details/79441340
[1].Artix-7 35T Arty FPGA 評估套件官網
[2].vivado license在ubuntu上安裝
[3].board fils下載地址
[4].Installing Vivado and Digilent Board Files
[5].Getting Started with Vivado
[6].Arty Programming Guide
[7].Programming Digilent FPGA Boards Through Multisim
@beautifulzzzz 智能硬件、物聯網,熱愛技術,關注產品 博客:http://blog.beautifulzzzz.com 園友交流羣:414948975