Jump to content
    

Параметризация в Verilog

самое непонятное во всем этом, то что пример норм заработал, а проект, который необходимо реализовать - нет. говорит, модуль не указан. (в экстерн описал все порты, к списку файлов добавил). все идентично, но...

Error (10703): SystemVerilog error at probe.v(749): can't resolve aggregate expression in connection to port 3 on instance "<unnamed instance>" because the instance has no module binding

 

а порт 3 - двумерный

Edited by stu

Share this post


Link to post
Share on other sites

Во-первых, описанную ошибку не видно - Ква, видимо, до нее не доходит из-за других ошибок, которые появились в результате подрезания.

 

Во-вторых двумерный порт не 3-й, а 4-ый. Так что может ошибка и не про него.

 

В-третьих описание модуля в sv не соответствует .tdf:

 

в .tdf есть порт MHz_120, а в sv Вы его ошибочно назвали MHz120

 

в .tdf есть параметры, в sv в декларации модуля параметров нет.

 

Используйте нормальный SV-кий способ передачи параметров модулю:

 

In_Norm_Spi_Master_Serial #(.A( A ), .B( B )) In_N (.c( с ), .d( d ));

 

Так что сначала приведите в порядок код, так чтобы все было описано аккуратно и соответствовало друг другу.

Share this post


Link to post
Share on other sites

порты считает от нуля, поэтому 3 - Id (двумерный).

порты поправил

декларацию поправил

параметры описаны с 239 строки. переписал под SV.

надо пробовать под ква 9. в 10 какую-то непонятную мне ошибку выдает. (рассматривалась тут)

proj3.7z

Edited by stu

Share this post


Link to post
Share on other sites

параметры описаны с 239 строки. переписал под SV.

 

Не до конца переписали. То, что у Вас в 407 строке должно стоять в 341 вместо In_N();

 

 

310 In_Norm_Spi_Master_Serial #(

311 .Version_Number(Version_Number),

312 .Revision_Number(Revision_Number),

 

. . .

 

337 .Exponent_Width(Exponent_Width),

338 .Processing_Width(Processing_Width),

339 .Dout_Width(Dout_Width)

340 )

341 In_N(.Scdt(Scdt), .MHz_120(MHz120), .Iwck(Iwck), .Id(Id), .Ide(Ide), .Ihs(Ihs), .Ivs(Ivs), .DVI_Status(DVI_Status));

342 //----------------------------------------

343 wire [23:0] Pcb_U [0:Dout_Width-1];

344 wire Bridge_In_Use;

 

. . .

 

402 assign DVI_Status[3] = 0;

403 assign DVI_Status[2] = Dir;

404 assign DVI_Status[1] = 0;

405 assign DVI_Status[0] = 0;

406 //----------------------------------------

407 In_N(.Scdt(Scdt), .MHz_120(MHz120), .Iwck(Iwck), .Id(Id), .Ide(Ide), .Ihs(Ihs), .Ivs(Ivs), .DVI_Status(DVI_Status));

408 endmodule

 

 

Share this post


Link to post
Share on other sites

йоооо-ма-йо. а почему это так влияет? К примеру в том AHDL, поправьте если не прав, сначала объявляем в вариабле и пишем все параметры, а потом порты используем в зависимости от условия.

Означает ли, что на верилоге, к примеру в ситуациях, когда указанный модуль нужно генерировать в зависимости от условия(generate if то-то, то-то объявляем модуль и некоторые порты, ..... if о5 тот же модуль+другие порты) его пишем полностью, каждый раз со всеми параметрами?

 

ааа. нет. ступил. все. разобрался

Edited by stu

Share this post


Link to post
Share on other sites

И у Вас все равно остается бардак с константами. Mem_Width, например, probe получает как параметр, In_Norm_Spi_Master_Serial вычисляет его сам. В In_Norm_Spi_Master_Serial разрядность входа M_Wr определяется локальной константой Mem_Width, вычисляемой исходя из дефолтных значений параметров. Т.е. если передать значения параметров отличные от дефолтных, то все "разъедется". Это собственно говоря уже происходит. В probe в декларации In_Norm_Spi_Master_Serial разрядность M_Wr определяется числом. В результате я вижу массу ошибок о несовпадении разрядности сигналов probe и тех, к которым они подключаются в In_Norm_Spi_Master_Serial.

 

При таком подходе Вы не сможете сделать параметризуемый модуль и не сможете ничего скомпилировать.

Share this post


Link to post
Share on other sites

это наверно в верилоговском файле проблемы с функцией подсчета разрядности) исправляемо. основное дело сделано

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...