des00 25 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба А тут нет! В вопросе я разобрался - ква-ква плохой! :maniac: См. выше... что то мне подсказывает что всем знакомый драйвер у вас глючит %) module pipa (input a, b, output c); assign c = a & b; endmodule module test_array (input [7 : 0] a,b, output logic [7 : 0] c); pipa pipa [7 : 0] (a, b, c); endmodule Info: Quartus II Analysis & Synthesis was successful. 0 errors, 18 warnings Info: Peak virtual memory: 161 megabytes Info: Processing ended: Fri Nov 19 16:50:22 2010 Info: Elapsed time: 00:00:01 Info: Total CPU time (on all processors): 00:00:01 ЗЫ. так что чините руки.sys %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба что то мне подсказывает что всем знакомый драйвер у вас глючит %) module pipa (input a, b, output c); assign c = a & b; endmodule module test_array (input [7 : 0] a,b, output logic [7 : 0] c); pipa pipa [7 : 0] (a, b, c); endmodule Мой квартус вам говорит: Error (10161): Verilog HDL error at test_array.v(6): object "logic" is not declared Q9.1 sp2 в настройках выбран Verilog 2001 Без logic работает, но это просто тест на 6 строк, а у меня реальный проект. И вопрос в том почему квартус не жрет то что ему дают И причем тут руки?! Назовите хоть одну причину, почему не работает код с dff? работает module test_array (input in, output out); DFF dff_group ( .d(in), .clk(clk1_wire), .q(out) ); endmodule НЕ работает module test_array (input [7:0] in, output [7:0] out); DFF dff_group [7:0] ( .d(in), .clk(clk1_wire), .q(out) ); endmodule Error (10253): Verilog HDL Module Instantiation error at test_array.v(8): cannot elaborate array of instances because the declaration for the instantiated module has not been analyzed P.S. торопился - clk брошен, ну да хрен с ним, для сути проблемы это неважно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба Error (10161): Verilog HDL error at test_array.v(6): object "logic" is not declared ну wire вместо logic используйте или SV режим включите. Назовите хоть одну причину, почему не работает код с dff? потому что внутрях ква dff идет как AHDL модуль и не работает стык AHDL/Verilog. Вот тому пример module dff_wrp (input clk, d, output logic q); dff dff ( .d ( d ) , .clk ( clk ) , .q ( q ) ); endmodule module test_array (input clk, input [7 : 0] a, output wire [7 : 0] c); dff_wrp dff [7 : 0] ( .d ( a ) , .clk ( clk ) , .q ( c ) ); endmodule Про руки, проехали, старая шутка времен досок. Если обидел приношу свои извинения %) Усли быть более точным, то подозреваю что реализация массива модулей делается разработчиками через парсер декларации модуля (о чем косвенно говорит предупреждение квартуса). AHDL модуль не содержит такой декларации, а воспользоваться встроенным конвертером разработчики забыли. При тестировании такого не выявили, т.к. фича редко используемая и в плане тестирования этого нет/забыли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба Усли быть более точным, то подозреваю что реализация массива модулей делается разработчиками через парсер декларации модуля (о чем косвенно говорит предупреждение квартуса). AHDL модуль не содержит такой декларации, а воспользоваться встроенным конвертером разработчики забыли. При тестировании такого не выявили, т.к. фича редко используемая и в плане тестирования этого нет/забыли. Вот вот! Проблема точно подмечена! ВОТ ЭТО и озлобляет! Финт ушами (который вы привели выше) это конечно решение, но разработчики не правы, о чем я и говорил в самом начале. Спасибо за разъяснение! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба Назовите хоть одну причину, почему не работает код с dff? Так ить dff - это не модуль, а примитив. Может быть, это восстановит поруганную честь Quartus`а? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 19 ноября, 2010 Опубликовано 19 ноября, 2010 · Жалоба Так ить dff - это не модуль, а примитив. Может быть, это восстановит поруганную честь Quartus`а? Не выйдет! 1. Примитив примитивом, но описан он корректно. 2. Это был просто пример, для простоты. Когда используется любой модуль (хоть самописный, хоть мегафункция) описанный на AHDL возникает данная ошибка. Только не надо советовать не использовать AHDL, ошибка от этого не пропадет! Да, и на AHDL у нас было понаписано немало в свое время, кое что бывает удобно использовать. OFF кстати о чести КВА: если в КВА 10 без СП запустить мегавизард и попробовать создать LVDS передатчик то результат может обескуражить и удивить :07: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться