2014-03-25 81 views
-2

我是verilog的新手。我有一個項目包括3個文件,我嘗試使用命令編譯:參數列表中的語法錯誤

iverilog -o ddr3 drac_ddr3.v adapter.v top.v 

,我得到一個錯誤信息:

drac_ddr3.v:335: syntax error
drac_ddr3.v:335: error: syntax error in parameter list.
drac_ddr3.v:336: syntax error
drac_ddr3.v:336: error: syntax error in parameter list.

線335-336的複製

333:`ifdef XILINX_ISIM 334:`else 335: parameter integer bank_a[15:0] = {0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1}; 336: parameter integer bank_ba[2:0] = {0, 1, 1}; 337:`endif 

它似乎沒有任何語法錯誤。誰能幫我這個?

+1

參數通常用於常量。你在這裏需要常量還是模塊輸入? – Marty

+0

你是從網上抓取代碼還是自己寫?你可能不得不拋出verilog版本切換... – Marty

+1

我從http://opencores.org/project,ddr3_sdram獲得了代碼,它是一個大學項目。我必須先編譯它,然後運行模擬,並改進一些功能。就像讓它更具能量或增加其他功能一樣。或使其更快。 –

回答

0

嘗試定義參數如下:

parameter [15:0] bank_a= 16'b0010010000000111; 
parameter [2:0] bank_ba = 3'b011; 

一個integer變量的大小始終是32位。你要做的是定義16位和3位寬的「非整數」參數。

+0

嗯,我試過這個,我得到以下錯誤:drac_ddr3.v:335:警告:額外的數字給大小的二進制常量。 –

+0

我的錯誤 - 應該是16'b ... – Qiu

相關問題