FC2カウンター FPGAの部屋 Tang Primer 25K の SDRAM モジュールを使ってみる1
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Tang Primer 25K の SDRAM モジュールを使ってみる1

Tang Primer 25K の SDRAM モジュールを使ってみたい。
TangPrimer-25K-exampleLicheeTang25k_SDRAM がリンクされているので、これをやってみようと思う。

GOWIN FPGA Designer を起動して、TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/sdram.gprj を読み込んで、sdram プロジェクトを開いた。
Tang_Primer_25K_231_240303.png

Tang Primer 25K Dock の回路図の Tang_Primer_25K_Dock_60033_Schematic.pdf や SDRAM ボードの回路図の Tang_sdram_xsds_V1.2_Schematic.pdf を見て、sdram.cst と見比べると、回路図通りにピン・アサインされているようだ。
Tang_Primer_25K_232_240303.png

sdram.sdc を見ると、50 MHz クロックと 133.333 MHz が定義されていて、False Path も設定されているようだ。
Tang_Primer_25K_233_240303.png

Select Device ダイアログで FPGA の種類を GW5A-LV25MG121NC/10 に設定した。
Tang_Primer_25K_234_240303.png

GOWIN FPGA Designer に GW5A-LV25MG121NC/10 が設定された。
Tang_Primer_25K_235_240303.png

Run Synthesis ボタンをクリックして、論理合成を行った。
エラーが発生した。
Syntax error のようだった。
Tang_Primer_25K_236_240303.png

もしかして、Systemverilog が有効になっていないんじゃないか?
GOWIN FPGA Designer の Project メニューから Configuration を選択した。
Configuration ダイアログが表示された。
Synthesize -> General をクリックした。
Verilog Language を System Verilog 2012 に変更した。
OK ボタンをクリックした。
Tang_Primer_25K_237_240303.png

もう一度、Run Synthesis ボタンをクリックして、論理合成を行ったところ、成功した。
Tang_Primer_25K_238_240303.png

論理合成のログを示す。

GowinSynthesis start
Running parser ...
Analyzing Verilog file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/gowin_pll/PLL.v'
Analyzing Verilog file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv'
Analyzing included file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_tasks.svh'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":116)
Back to file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":116)
Analyzing Verilog file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/top.sv'
Analyzing included file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/print.svh'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/top.sv":24)
Back to file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/top.sv'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/top.sv":24)
Analyzing Verilog file '/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/uart_tx_V2.v'
Compiling module 'top'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/top.sv":1)
Extracting RAM for identifier 'print_seq'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/print.svh":6)
Compiling module 'uart_tx_V2(clk_freq=133333000)'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/uart_tx_V2.v":1)
WARN  (EX3791) : Expression size 14 truncated to fit in target size 13("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/uart_tx_V2.v":49)
Compiling module 'PLL100'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/gowin_pll/PLL.v":10)
Compiling module 'SDRAM_CTRL'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":5)
Extracting RAM for identifier 'opened_row_adr'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":120)
Extracting RAM for identifier 'wr_buf'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":206)
Extracting RAM for identifier 'rd_buf'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":213)
Extracting RAM for identifier 'cmd_buf'("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":225)
WARN  (EX3791) : Expression size 32 truncated to fit in target size 10("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":310)
WARN  (EX3791) : Expression size 32 truncated to fit in target size 10("/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/src/sdram_ctrl.sv":340)
NOTE  (EX0101) : Current top module is "top"
[5%] Running netlist conversion ...
Running device independent optimization ...
[10%] Optimizing Phase 0 completed
[15%] Optimizing Phase 1 completed
[25%] Optimizing Phase 2 completed
Running inference ...
[30%] Inferring Phase 0 completed
[40%] Inferring Phase 1 completed
[50%] Inferring Phase 2 completed
[55%] Inferring Phase 3 completed
Running technical mapping ...
[60%] Tech-Mapping Phase 0 completed
[65%] Tech-Mapping Phase 1 completed
[75%] Tech-Mapping Phase 2 completed
[80%] Tech-Mapping Phase 3 completed
[90%] Tech-Mapping Phase 4 completed
[95%] Generate netlist file "/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/impl/gwsynthesis/sdram.vg" completed
[100%] Generate report file "/media/masaaki/Ubuntu_Disk/Gowin/TangPrimer-25K-example/LicheeTang25k_SDRAM/sdram/impl/gwsynthesis/sdram_syn.rpt.html" completed
GowinSynthesis finish

  1. 2024年03月03日 17:50 |
  2. Tang_Primer_25K
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/6204-13c02d86
この記事にトラックバックする(FC2ブログユーザー)