stu 0 November 14, 2011 Posted November 14, 2011 (edited) · Report post самое непонятное во всем этом, то что пример норм заработал, а проект, который необходимо реализовать - нет. говорит, модуль не указан. (в экстерн описал все порты, к списку файлов добавил). все идентично, но... 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 November 14, 2011 by stu Quote Share this post Link to post Share on other sites More sharing options...
Sefo 0 November 14, 2011 Posted November 14, 2011 · Report post Ну так выкладывайте ваш probe.v Quote Share this post Link to post Share on other sites More sharing options...
stu 0 November 14, 2011 Posted November 14, 2011 · Report post я его подрезал "чуток", но ошибку увидеть можно proj2.7z Quote Share this post Link to post Share on other sites More sharing options...
Sefo 0 November 14, 2011 Posted November 14, 2011 · Report post Во-первых, описанную ошибку не видно - Ква, видимо, до нее не доходит из-за других ошибок, которые появились в результате подрезания. Во-вторых двумерный порт не 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 )); Так что сначала приведите в порядок код, так чтобы все было описано аккуратно и соответствовало друг другу. Quote Share this post Link to post Share on other sites More sharing options...
stu 0 November 15, 2011 Posted November 15, 2011 (edited) · Report post порты считает от нуля, поэтому 3 - Id (двумерный). порты поправил декларацию поправил параметры описаны с 239 строки. переписал под SV. надо пробовать под ква 9. в 10 какую-то непонятную мне ошибку выдает. (рассматривалась тут) proj3.7z Edited November 15, 2011 by stu Quote Share this post Link to post Share on other sites More sharing options...
Sefo 0 November 15, 2011 Posted November 15, 2011 · Report post параметры описаны с 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 Quote Share this post Link to post Share on other sites More sharing options...
stu 0 November 15, 2011 Posted November 15, 2011 (edited) · Report post йоооо-ма-йо. а почему это так влияет? К примеру в том AHDL, поправьте если не прав, сначала объявляем в вариабле и пишем все параметры, а потом порты используем в зависимости от условия. Означает ли, что на верилоге, к примеру в ситуациях, когда указанный модуль нужно генерировать в зависимости от условия(generate if то-то, то-то объявляем модуль и некоторые порты, ..... if о5 тот же модуль+другие порты) его пишем полностью, каждый раз со всеми параметрами? ааа. нет. ступил. все. разобрался Edited November 15, 2011 by stu Quote Share this post Link to post Share on other sites More sharing options...
Sefo 0 November 15, 2011 Posted November 15, 2011 · Report post И у Вас все равно остается бардак с константами. 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. При таком подходе Вы не сможете сделать параметризуемый модуль и не сможете ничего скомпилировать. Quote Share this post Link to post Share on other sites More sharing options...
stu 0 November 15, 2011 Posted November 15, 2011 · Report post это наверно в верилоговском файле проблемы с функцией подсчета разрядности) исправляемо. основное дело сделано Quote Share this post Link to post Share on other sites More sharing options...