iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
Claude AI

用 Claude 帶我 Bring Up AI 開發板:30 天人機協作實錄系列 第 23 篇

[Day 23] 環境架好了,然後呢? 設定腳位約束 Constraints / XDC

  • 分享至 

  • xImage
  •  

一般來說,FPGA與MCU不同的地方,是FPGA由很多邏輯匣構成,如加法器,減法器,乘法器等等,當然如果要連在一起,輸出及輸入的腳位一定要定義好,故Vivado就用XDC檔來定義每個腳位要做什麼,這裡有兩個板子,分別做不同的功能,所以有要兩個不同的XDC檔,當然claude code也已經產生好,就開啟Vivado,把腳位定義加上去:

設定腳位約束 (Constraints / XDC)

Board A 的 Constraints 檔案 CmodA7_Master.xdc。這是告訴 Vivado 哪條線接哪個腳。
(以下針對 Cmod A7-35T 的標準腳位)

## 12 MHz Clock Signal
set_property -dict { PACKAGE_PIN L17   IOSTANDARD LVCMOS33 } [get_ports { sysclk }]; 
create_clock -add -name sys_clk_pin -period 83.33 -waveform {0 41.66} [get_ports { sysclk }];

## LEDs
set_property -dict { PACKAGE_PIN A17   IOSTANDARD LVCMOS33 } [get_ports { led[0] }]; # LED 1
set_property -dict { PACKAGE_PIN C16   IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; # LED 2

## PIO Pins (DIP Header)
## 我們使用 Pin 1 (PIO1) 和 Pin 2 (PIO2)
set_property -dict { PACKAGE_PIN M3    IOSTANDARD LVCMOS33 } [get_ports { pio1 }]; # Pin 1
set_property -dict { PACKAGE_PIN L3    IOSTANDARD LVCMOS33 } [get_ports { pio2 }]; # Pin 2

Board B的 XDC Constraints - CmodA7_RX.xdc

為了保險起見,請檢查您的 XDC 檔案是否包含以下所有行。如果有缺漏,FPGA 就會有一部分不工作。

## Clock Signal
set_property -dict { PACKAGE_PIN L17   IOSTANDARD LVCMOS33 } [get_ports { sysclk }]; 
create_clock -add -name sys_clk_pin -period 83.33 -waveform {0 41.66} [get_ports { sysclk }];

## LEDs (Visual Feedback)
set_property -dict { PACKAGE_PIN A17   IOSTANDARD LVCMOS33 } [get_ports { led[0] }]; 
set_property -dict { PACKAGE_PIN C16   IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; 

## Input Signals
# Pin 1 (Complex Signal from Board A)
set_property -dict { PACKAGE_PIN M3    IOSTANDARD LVCMOS33 } [get_ports { pio1_in }]; 
# Pin 2 (10MHz Ref from Board A)
set_property -dict { PACKAGE_PIN L3    IOSTANDARD LVCMOS33 } [get_ports { pio2_in }]; 

## UART Output (To PC via USB)
set_property -dict { PACKAGE_PIN J18   IOSTANDARD LVCMOS33 } [get_ports { uart_txd_out }];

## Flash Configuration (重要!確保燒錄後能開機)
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
set_property CONFIG_MODE SPIx4 [current_design]

最後產生 Bitstream 並燒錄。


上一篇
[Day 22] 初學Vivado! Claude Code會嗎?
下一篇
[Day 24] Python儀表板-腳位訊號示波器
系列文
用 Claude 帶我 Bring Up AI 開發板:30 天人機協作實錄 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言