資料介紹
描述
今年早些時候,我的朋友偶然發現了這款采用 Xilinx Zynq 7010 的廉價板,名為 EBAZ4205。這些板是從 Ebang Ebit E9+ 比特幣礦機中清理出來的,可以從 Aliexpress 購買。我想我會試一試,我很驚訝它們是多么便宜和強大。在玩過這個板之后,我很快就對每次創建新項目時都要配置 Zynq PS 系統感到惱火。因此,我決定學習如何創建 Xilinx Vivado 板文件,今天我將與您分享我的知識。
要求
在為您的定制電路板創建電路板文件之前,我強烈建議您閱讀Xilinx UG895 Vivado 系統級設計附錄 A。該文檔描述了電路板文件的結構和內容。
板文件的結構
Xilinx Vivado 板文件存放在 Vivado 安裝目錄中:
//data/boards/board_files/
在這個目錄中,我們可以創建新文件夾并以我們的板子命名(例如 ebaz4205)。在這個目錄中,我們將創建另一個以板版本命名的文件夾(例如 1.0)。該文件夾將包含我們的電路板圖片和三個重要的 XML 文件:
- board.xml - 定義關于板的所有信息。它包括基本信息(例如電路板名稱、描述、供應商)、有關板上組件的信息(例如 FPGA 部件、LED、按鈕)、有關板上組件所需接口的信息以及實現這些接口的首選 IP 內核。
- preset.xml - 為 board.xml 文件中指定的 IP 內核定義預設。
- part0_pins.xml - 為 board.xml 文件中指定的接口定義物理引腳和 I/O 標準。
創建所有必需的文件夾和文件后,我們的板文件文件夾結構應如下所示:
ebaz4205/
└── 1.0
├── board.xml
├── ebaz4205.jpg
├── part0_pins.xml
└── preset.xml
板子.xml
該文件以名為 的 XML 標記開頭,我們將在其中提供有關該板的基本信息:
schema_version="2.1" vendor="miner.ebang.com.cn" name="ebaz4205" display_name="EBAZ4205 Development Board" url="http://miner.ebang.com.cn" preset_file="preset.xml">
首先,我們定義板文件架構版本 - 告訴 Vivado 軟件如何解釋文件中提供的數據的屬性(在 Vivado 2020.1 中,我目前使用的架構的最新版本是 2.1)。接下來,我們為電路板供應商定義供應商名稱、電路板名稱和網頁。在 標簽中,我們還指定了稍后將使用的預設文件的名稱。在此之后,我們必須通過在新行中寫入 來??關閉 標記。所有其他板信息必須在這兩個標簽之間定義。
為了確保板文件的正常工作,我們必須添加 和 標簽:
<file_version>1.0file_version>
<compatible_board_revisions>
<revision id="1">1.0revision>
compatible_board_revisions>
標簽用于跟蹤電路板文件的版本,而 標簽用于指定這些文件可以與哪些電路板 PCB 修訂版一起使用。
我們可以通過在 中指定圖像和在 標簽中指定描述來添加板的圖片和描述:
<images>
<image name="ebaz4205.jpg" display_name="EBAZ4205 Development Board" sub_type="board">
<description>EBAZ4205 Development Boarddescription>
image>
images>
<description>EBAZ4205 is mining board used in Ebang Ebit E9+ bitcoin miner machine. This board features 256MB DDR3 memory, 128MB NAND Flash memory, 10/100MBit Ethernet and speed grade -1 Zynq 7010.description>
創建新項目時,大部分信息將顯示在板選擇窗口中:

或在 Vivado 項目摘要窗口中:

?
提供基本信息后,現在我們可以通過在 標簽之間添加信息來指定板上的組件:
<components>
<component name="part0" display_name="EBAZ4205" type="fpga" part_name="xc7z010clg400-1" pin_map_file="part0_pins.xml" vendor="xilinx" spec_url="www.xilinx.com">
<description>FPGA part on the boarddescription>
<interfaces>
<interface mode="master" name="ps7_fixedio" type="xilinx.com:display_processing_system7:fixedio_rtl:1.0" of_component="ps7_fixedio" preset_proc="ps7_preset">
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="processing_system7" order="0"/>
preferred_ips>
interface>
<interface mode="master" name="leds_2bits" type="xilinx.com:interface:gpio_rtl:1.0" of_component="leds_2bits" preset_proc="leds_2bits_preset">
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="axi_gpio" order="0"/>
preferred_ips>
<port_maps>
<port_map logical_port="TRI_O" physical_port="leds_2bits_tri_o" dir="out" left="1" right="0">
<pin_maps>
<pin_map port_index="0" component_pin="leds_2bits_tri_o_0"/>
<pin_map port_index="1" component_pin="leds_2bits_tri_o_1"/>
pin_maps>
port_map>
port_maps>
interface>
interfaces>
component>
<component name="ps7_fixedio" display_name="PS7 fixed IO" type="chip" sub_type="fixed_io" major_group=""/>
<component name="leds_2bits" display_name="LEDs" type="chip" sub_type="led" major_group="General Purpose Input or Output">
<description>LEDs, Active Lowdescription>
component>
components>
首先我們必須定義板上使用的 FPGA 部分,在 EBAZ4205 的情況下它是 xc7z010clg400-1。我們還定義了這個組件的供應商和引腳映射文件。所有用于實現 FPGA 和電路板組件之間接口的 IP 內核都必須在 FPGA 標簽之間定義。
第一個定義的接口將是 Zynq 處理系統的固定 I/O。我們必須指定接口模式、名稱、首選 IP 核來實現此接口和預設名稱 (preset_proc),它將 IP 核與 preset.xml 文件中的預定義配置鏈接:
<interface mode="master" name="ps7_fixedio" type="xilinx.com:display_processing_system7:fixedio_rtl:1.0" of_component="ps7_fixedio" preset_proc="ps7_preset">
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="processing_system7" order="0"/>
preferred_ips>
interface>
第二個定義的接口用于 LED。為了實現這個接口,我們將使用 AXI GPIO IP 內核。對于此接口,我們還必須定義端口引腳映射,因為 AXI GPIO IP 內核端口引腳必須連接到物理 FPGA 引腳:
<interface mode="master" name="leds_2bits" type="xilinx.com:interface:gpio_rtl:1.0" of_component="leds_2bits" preset_proc="leds_2bits_preset">
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="axi_gpio" order="0"/>
preferred_ips>
<port_maps>
<port_map logical_port="TRI_O" physical_port="leds_2bits_tri_o" dir="out" left="1" right="0">
<pin_maps>
<pin_map port_index="0" component_pin="leds_2bits_tri_o_0"/>
<pin_map port_index="1" component_pin="leds_2bits_tri_o_1"/>
pin_maps>
port_map>
port_maps>
interface>
在定義 FPGA 部分及其接口之后,我們必須定義其他組件。默認情況下一個是 Zynq 7000 處理系統,另一個是 LED。之前創建的接口將通過稱為組件名稱的屬性鏈接到這些組件:
<component name="ps7_fixedio" display_name="PS7 fixed IO" type="chip" sub_type="fixed_io" major_group=""/>
<component name="leds_2bits" display_name="LEDs" type="chip" sub_type="led" major_group="General Purpose Input or Output">
<description>LEDs, Active Lowdescription>
component>
該聲明還讓我們可以在 Vivado 模塊設計窗口的 Board 選項卡中找到我們的組件:

?
在 board.xml 文件中,如果適用,我們還必須為板上的所有組件定義 JTAG 鏈。在這種情況下,我們只有一個用于 FPGA 部分的 JTAG 鏈:
<jtag_chains>
<jtag_chain name="chain1">
<position name="0" component="part0"/>
jtag_chain>
jtag_chains>
當然,我們必須指定將我們的組件接口鏈接到在 part0_pins.xml 文件中聲明的物理 FPGA 引腳的連接:
<connections>
<connection name="part0_leds_2bits" component1="part0" component2="leds_2bits">
<connection_map name="part0_leds_2bits_1" c1_st_index="0" c1_end_index="1" c2_st_index="0" c2_end_index="1"/>
connection>
connections>
這里 c1_st_index 和 c1_end_index 對應 part0_pins.xml 文件中的 pin 索引,而 c2_st_index 和 c2_end_index 對應 IP 核端口 pin 索引。
預設.xml
preset.xml 文件以名為 的 XML 標記開頭,我們必須在其中提供此文件架構版本。預設文件的當前架構版本是 1.0:
<ip_presets schema = "1.0">
我們必須通過在新行中寫入 來關閉 標記。IP 核的預設將列在這兩個標簽之間。
首先我們為 Zynq 處理系統 IP 核添加配置。這些配置通過名為 preset_proc_name 的屬性鏈接到 board.xml 文件:
<ip_preset preset_proc_name="ps7_preset">
<ip vendor="xilinx.com" library="ip" name="processing_system7" version="*">
<user_parameters>
<user_parameter name="CONFIG.PCW_UART1_PERIPHERAL_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_UART1_UART1_IO" value="MIO 24 .. 25"/>
<user_parameter name="CONFIG.PCW_SD0_PERIPHERAL_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_SD0_SD0_IO" value="MIO 40 .. 45"/>
<user_parameter name="CONFIG.PCW_NAND_PERIPHERAL_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_NAND_GRP_D8_ENABLE" value="0"/>
<user_parameter name="CONFIG.PCW_ENET0_PERIPHERAL_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_ENET0_ENET0_IO" value="EMIO"/>
<user_parameter name="CONFIG.PCW_ENET0_GRP_MDIO_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_ENET0_PERIPHERAL_FREQMHZ" value="100 Mbps"/>
<user_parameter name="CONFIG.PCW_GPIO_MIO_GPIO_ENABLE" value="1"/>
<user_parameter name="CONFIG.PCW_GPIO_MIO_GPIO_IO" value="MIO"/>
<user_parameter name="CONFIG.PCW_ENET_RESET_ENABLE" value="0"/>
<user_parameter name="CONFIG.PCW_USB_RESET_ENABLE" value="0"/>
<user_parameter name="CONFIG.PCW_I2C_RESET_ENABLE" value="0"/>
<user_parameter name="CONFIG.PCW_UIPARAM_DDR_BUS_WIDTH" value="16 Bit"/>
<user_parameter name="CONFIG.PCW_UIPARAM_DDR_PARTNO" value="MT41K128M16 JT-125"/>
user_parameters>
ip>
ip_preset>
在 Zynq 7000 處理系統中,我們啟用 UART1、SD0、NAND、ETHERNET0 和其他外設,為這些外設選擇 MIO 引腳并配置 DDR 內存。
接下來,我們為 AXI GPIO IP 內核添加配置,該內核將用于在板上實現 FPGA 和用戶 LED 之間的接口:
<ip_preset preset_proc_name="leds_2bits_preset">
<ip vendor="xilinx.com" library="ip" name="axi_gpio" ip_interface="GPIO">
<user_parameters>
<user_parameter name="CONFIG.C_GPIO_WIDTH" value="2"/>
<user_parameter name="CONFIG.C_ALL_OUTPUTS" value="1"/>
<user_parameter name="CONFIG.C_ALL_INPUTS" value="0"/>
<user_parameter name="CONFIG.C_DOUT_DEFAULT" value="0x00000003"/>
user_parameters>
ip>
ip_preset>
在這里,我們將 AXI GPIO IP 內核配置為只有 2 個引腳將用作默認邏輯值為 1 的輸出,因為此板上的 LED 低電平有效(通過提供邏輯 0 打開)。
part0_pins.xml
part0_pins.xml 文件以 標簽開頭,我們必須在其中指定板上使用的 FPGA 部件。在這兩個標簽之間,我們將提供所有引腳映射信息:
<part_info part_name="xc7z010clg400-1">
<pins>
<pin index="0" name ="leds_2bits_tri_o_0" iostandard="LVCMOS33" loc="W14"/>
<pin index="1" name ="leds_2bits_tri_o_1" iostandard="LVCMOS33" loc="W13"/>
pins>
part_info>
此處列出的引腳通過引腳名稱屬性鏈接到 board.xml 文件中指定的 IP 核端口引腳。我們將 I/O 標準設置為 LVCMOS33,因為這些引腳所在的 FPGA bank 的電壓在 EBAZ4205 板上設置為 3.3V。最后,我們通過提供位置屬性 loc 將 IP 核端口引腳鏈接到物理 FPGA 封裝引腳。
我希望本教程能幫助您更好地了解 Xilinx Vivado 電路板文件結構以及如何為您的定制電路板創建這些文件。
完整的 EBAZ4205 板文件可以在我的存儲庫中找到。
- 迅為i.MX6Q開發板Openwrt 文件系統構建
- 如何創建和使用LabVIEW中的LLB文件 0次下載
- Vivado生成、固化燒錄文件 49次下載
- Xilinx_Vivado_zynq7000入門筆記 71次下載
- 【Vivado那些事】Vivado下頭文件使用注意事項
- Vivado 開發教程(一) 創建新硬件工程
- Xilinx的庫文件免費下載 0次下載
- Xilinx Vivado SDK 2017.2 0616 1 Win64軟件免費下載 322次下載
- 用Vivado-HLS為軟件提速 8次下載
- 基于Vivado 的Basys3開發板的解碼教程 66次下載
- Xilinx_SP605開發板原理圖PCB 46次下載
- xilinx實驗板原理圖
- 基于FPGA的mif文件創建與使用
- 利用XILINX解決方案快速創建存儲器接口設計
- 4205E.pdf 電子管資料數據手冊
- e2 studio創建lib文件及使用 526次閱讀
- 如何在Post Synthesis工程中加入XCI文件 1356次閱讀
- 用TCL定制Vivado設計實現流程 1109次閱讀
- Xilinx FPGA Vivado開發流程介紹 3720次閱讀
- Xilinx Vivado LOCK_PINS屬性介紹 1194次閱讀
- Vivado里如何手動調整編譯順序 4309次閱讀
- 如何升級Vivado工程腳本 1869次閱讀
- Xilinx Vivado I/O延遲約束介紹 5244次閱讀
- 基于Project模式Vivado GUI使用的配置文件自動化生成管理 3040次閱讀
- xilinx Vivado工具使用技巧 4116次閱讀
- 使用Vivado 2017調用Modelsim的詳細步驟 1.7w次閱讀
- TCL腳本簡介 vivado hls 的設計流程 6689次閱讀
- Vivado技巧:.dcp 文件代替 .xci 文件 5545次閱讀
- 基于Xilinx的軟件工程的創建 1691次閱讀
- xilinx IP建立向導創建的目錄和文件的作用分析 7932次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發板資料
- 34.89 MB | 1次下載 | 免費
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
- 3.32 MB | 1次下載 | 免費
- 8聯想A820t手機維修圖紙包括主板原理圖 尾板原理圖 點位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產業鏈分析
- 4.43 MB | 383次下載 | 免費
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 94次下載 | 1 積分
- 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 8長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191388次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論