Alchitry Au FPGA 開發板(Xilinx Artix 7)Demo 展示

Alchitry Au FPGA 是一款優秀的開發板,採用 Xilinx Artix 7 XC7A35T-1C FPGA,擁有超過 33,000 個邏輯單元和 256MB DDR3 RAM(提供不同的速度等級、溫度範圍和工作電壓)。

Alchitry FPGA 平台 Au 版提供 102 個 3.3V 邏輯電平的輸入/輸出引腳,其中 20 個可切換至 1.8V 邏輯電平;9 個差分模擬輸入;8 個通用 LED;一個可由 FPGA 內部控制的 USB 100MHz 板載時鐘;8 個通用 LED;一個可由 FPGA 內部控制的 USB 100MHz 板載時鐘配置;所有 Alchitry 開發板均完全支援 Lucid HDL 語言。

透過添加類似擴充板或 HAT 的可堆疊擴充板(稱為「Elements」),Alchitry Au FPGA 可以擴展其 I/O 硬體功能,例如添加原型空間、按鈕、LED 等。

本示範使用了以下 Lucid HDL 程式碼:

module blinker (
    input clk,   // clock
    input rst,   // reset
    output blink // output to LED
) {
    dff counter[26](.clk(clk), .rst(rst))
    
    always {
        blink = counter.q[25]
        counter.d = counter.q + 1
    }
}

此函數用於 alchitry_top 模組中。

module alchitry_top (
    input clk,              // 100MHz clock
    input rst_n,            // reset button (active low)
    output led[8],          // 8 user controllable LEDs
    input usb_rx,           // USB->Serial input
    output usb_tx           // USB->Serial output
) {
    
    sig rst                 // reset signal
    
    .clk(clk) {
        // The reset conditioner is used to synchronize the reset signal to the FPGA
        // clock. This ensures the entire FPGA comes out of reset at the same time.
        reset_conditioner reset_cond
        
        .rst(rst) {
            blinker my_blinker
        }
    }
    
    always {
        reset_cond.in = ~rst_n     // input raw inverted reset signal
        rst = reset_cond.out       // conditioned reset
        
        led = 8x{my_blinker.blink} // blink LEDs
        
        usb_tx = usb_rx            // echo the serial data
    }
}

以及對應的 alchitry.acf 文件,

STANDARD(LVCMOS33), SIDE(TOP) {
    pin clk CLOCK FREQUENCY(100MHz)

    pin rst_n RESET

    pin led[0] LED0
    pin led[1] LED1
    pin led[2] LED2
    pin led[3] LED3
    pin led[4] LED4
    pin led[5] LED5
    pin led[6] LED6
    pin led[7] LED7

    pin usb_rx USB_RX
    pin usb_tx USB_TX
}

Lucid HDL 程式控制主 Alchitry Au FPGA 開發板上的所有 LED 燈閃爍。本示範程式使用 Alchitry IDE 開發和程式設計。以下影片展示了 Alchitry Au FPGA 開發板的示範。

此演示程式也會透過 USB 串列終端回傳主機發送的字元。

 usb_tx = usb_rx            // echo the serial data

這在下一個串列終端中有所顯示,當使用者輸入字元時,這些字元會被回傳給使用者。

Alchitry Au 上的 FPGA 內建 12-bit 1 MSPS A/D 轉換器,並引出 9 個差分輸入。其中 8 個與數字 I/O 共享,另外 1 對為專用輸入。下圖展示了 Xilinx Artix 7 XC7A35T-1C FPGA 內部的 ADC。

Alchitry Au 上的 FPGA 本身已經擁有相當多的內部記憶體,但 Alchitry Au 上的 FPGA 也內建了記憶體控制器,連接到板載的 256MB DDR3 RAM 以提供額外的記憶體。 Alchitry Au FPGA 是一款功能強大的 FPGA 板,尺寸非常小巧,適用於多種應用;Xilinx Artix 7 XC7A35T-1C FPGA 亦可在DigiKey購買。