這是我有關 J1 Forth CPU 的系列文章中的第二篇,雖然,這篇其實是寫於第一篇之前,已經在符式協會論壇發表過。
以下是當初發表的內容:
因未來工作需要,決定建立 J1 Forth CPU 和 Ethernet 結合的技術。第一個步驟,就是將 WGE100 Camera 的 Firmware 以 Xilinx 的 SP601 板跑起來。
但是在改為 SP601 前,由於 WGE100 Camera 使用的是 Spartan 3E,我先以 Spartan 3E 進行 FPGA 的 Synthesis。以下說明我的經驗:
首先,以 Subversion 取得位於 https://github.com/chengchangwu/wge100_driver/blob/hydro-devel/wge100_camera_firmware 的程式。
之後,以 Xilinx ISE 開了一個新的 project,選擇 Family Spartan3E,Device XC3S500E,Package CP132,這應該就是原來的作者使用的 Device 和 Package。
verilog 目錄下的:
ck_div.v j1.v reset_gen.v topj1.v trig_watchdog.v uart.v watchdog.v
synth 目錄下的: wge100_RevC_Camera.ucf
verilog/coregen 目錄下的:
pixfifo.xco
lib/mac 目錄下的:
crc_chk.v gmux.v mac.v reconciliation.v rx_raw.v tx_engine_raw.v
crc_gen.v greg.v mii_mgmt.v rx_engine_raw.v rx_usr_if.v
rx_pkt_fifo.v tx_raw.v
lib/mac/xilinx/spartan3e 目錄下的:
device_ODDR.v
lib/mac/xilinx/spartan3e/ coregen 目錄下的:
rx_pkt_fifo_sync.xco
rxfifo.xco
txfifo.xco
我並未加入所有的 .v 檔,只是先加入 topj1.v ,然後再依據 Design Hierarchy 顯示缺少的元件來加入需要的 .v 檔。當有 .v 和 .xco 檔時我選擇 .xco 檔。最後必須加入 wge100_RevC_Camera. ucf 以解決一個 Error。
如此,就可以從 Synthesis 一直做到 Design implementation 得到 bitstream。
在這之後,我想我必須依據 SP601 的硬體設計來修改 routing,以便讓 Ethernet 真的能跑起來。這樣,就可以透過 Ethernet 和 J1 CPU 上的 Forth 程式溝通了。