使用 Xilinx 開發板:連接 Interrupt

故事是這樣子的,一般來說 IP 的工作流程,我們會透過 AXI Lite 寫入 register 叫 IP 開始工作,那我們要怎麼知道 IP 工作已經完成了?

...

使用 Xilinx 開發板:連接 寫入DMA

上一章 我們看了怎麼從記憶體中讀取資料放給 IP 模組,這篇我們就反過來,從 IP 模組中送資料給記憶體。
很多東西跟讀取是一樣的,會跳過不少 DMA 相關的介紹,比較簡單一些。

...

使用 Xilinx 開發板:連接 讀取DMA

在上一篇我們看到如何連接 AHB bus 之後,這篇我們來看看 AXI stream。
如果有看過 AXI Lite 介面的使用方式,它是幫你把 AXI 的讀寫轉化成內部的 registers,而每次的讀寫都是超級花費時間的事情,如果有大量的資料需要讀寫,用 AXI Lite 並在讀寫空間開幾百個 registers 就很不適合,太浪費時間,沒辦法有效率的把資料送進 IP,或從 IP 讀出來。

...

使用 Xilinx 開發板:連接 AHB

在上一篇,我們在 PynqZ2 上面建立了 SoC,並且能用 AXI Lite 介面去控制它,然而現實中使用 AXI 其實是相對奢侈的;在比較簡單的實作上,會使用較簡單的 APB 或是 AHB bus。
在這篇文章我們就來說明要怎麼實作並連接一個 AHB 的 IP,並讓 PS side 可以存取。

...

使用 Xilinx 開發板:連接 AXI Lite

故事是這樣子的,之前說到 強者我同學給了我一些 Pynq AHB 相關的文章,最近忙完一個階段重新開始改稿,發現只有那一篇好像有點乾,就決定把它擴展一下。

...

在 Ubuntu 上安裝開源 FPGA 工具鏈

故事是這個樣子的,大概在一年半前,我花了幾個月小玩了一下從 COSCUP 那邊拿到的 FPGA,那時候是在我的桌電 - 也就是 Archlinux 上進行開發。
最近因為一些原因又把這塊板子拿出來,但這次,我改用我新的筆電,裝的是 Windows 的 WSL 搭配 ubuntu 22.04,然後就發現, 我在文章中 列出來的幾項工具,包括 yosys, nextpnr, prjtrellis, 只有 yosys 能在 ubuntu 上用 apt 完成安裝,其他都在自己編譯,不像 Archlinux 上有人幫你弄好 AUR 了。

這篇文就是安裝工具的筆記,希望能幫到其他想在 ubuntu 上玩 lattice FPGA 的人, 主要參考這篇文章 ,以及一些工具 Github 的 issue。

...

Open FPGA 系列 - Nand2Tetris

終於來到我隱藏已久的終極目標了。 沒錯,其實我在拿到這片 FPGA,在想要做什麼的時候,經過一天得到的答案就是這個:Nand2Tetris , 用 FPGA 真的把這顆 CPU 給做出來,前面什麼 UART、HDMI、BRAM 都不過是前菜罷了,實際上我在下很大一盤棋
當然,因為我們用的是 verilog 的關係,我們不會真的從 nand gate 開始往上堆,而是用 verilog 內建的運算來實作, 所以 nand2tetris 第一、二章用 nand 弄出邏輯閘和加法器的部分就跳過,直接從 ALU 開始。

...

Open FPGA 系列 - Block RAM

這次的更新比較久一點,故事是這樣子的,在試完 HDMI 之後,我花了一點時間在試著連 FPGA 版上有實體 chip 的其他裝置, 包括:SDRAM、Flash 跟 SDcard。問題是這幾個都沒那麼好連,特別是沒有 LA 的狀況下根本就是瞎子摸象, 只能用 verilator 跑跑波型,波型對了放上去不會動你也不知道是什麼問題。

...

Open FPGA 系列 - HDMI

上回我們實作了 UART 的輸入輸出,這回就來挑戰板子上有附的另一個介面:HDMI,這個實作出來我們就有影像輸出可以用了呢。
不過因為 HDMI 的難度比起來上升了一個層次,這次我是直接用 icesugar-pro 的範例程式碼 改寫, TMDS 的部分則有參考網路上的 encoder

...

Open FPGA 系列 - UART

上一章我們打通了 FPGA 的開源工具鏈,接下來我們就能測試一下 icesugar-pro 有的介面, 首先實作 FPGA 還是需要有輸入輸出,否則也只是弄出一個無法互動的程式,而最簡單的輸出入介面,就當屬 UART 了。
icesugar-pro 的 github 上,也附上了一個 UART 的範例 , 會不斷對你的電腦輸出 “0” 到 “9”(然後這段 code 還有 bug XD),這篇我們就來寫一個有 tx, rx 的 UART 模組吧。

...