alexPec 4 May 10, 2011 Posted May 10, 2011 · Report post Добрый день. Пытаюсь скомпилировать в Q91 код ув. Des (БЧХ декодер). Как оказалось, SV и verilog отличаются сильно, с SV раньше не работал, разбираюсь. Во первых, Q91 похоже не поддерживает typedef ? Ругался на него, было: typedef bit [m-1 : 0] mult_t [0 : m-1]; mult_t MULT_BY_A; указал явно тип: bit [m-1 : 0] MULT_BY_A [0 : m-1]; с этим ок, сейчас затык с always_comb. Посмотрел доку на квартус - написано поддерживает, в реальности на код rom_t ALPHA_TO; rom_t INDEX_OF; bit [m-1 : 0] MULT_BY_A [0 : m-1]; always_comb begin ALPHA_TO = generate_gf(m, n, p, 0); INDEX_OF = generate_gf(m, n, p, 1); MULT_BY_A = generate_mult_by_a(pALPHA_IDX); end function mult_t generate_mult_by_a (input int index_of_a = 1); bit [m-1 : 0] mult [0 : n]; bit [m-1 : 0] coe; begin // initialize poly & multiplicate it by alpha^index_of_a for (int i = 0; i < index_of_a; i++) begin … … Q91 реагирует так: Info: ******************************************************************* Info: Running Quartus II Analysis & Synthesis Info: Version 9.1 Build 350 03/24/2010 Service Pack 2 SJ Full Version Info: Processing started: Tue May 10 18:32:58 2011 Info: Command: quartus_map --read_settings_files=on --write_settings_files=off qtest_bch -c qtest_bch Info: Parallel compilation is enabled and will use 2 of the 2 processors detected Info: Found 1 design units, including 1 entities, in source file qtest_bch_sv.sv Info: Found entity 1: qtest_bch_sv Info: Elaborating entity "qtest_bch_sv" for the top level hierarchy Error (10170): Verilog HDL syntax error at bch_mult_by.vh(14) near text "begin"; expecting ".", or "(" Error (10149): Verilog HDL Declaration error at bch_mult_by.vh(16): identifier "n" is already declared in the present scope Error (10170): Verilog HDL syntax error at bch_mult_by.vh(16) near text "0"; expecting an identifier Error (10149): Verilog HDL Declaration error at bch_mult_by.vh(17): identifier "n" is already declared in the present scope Error (10149): Verilog HDL Declaration error at bch_mult_by.vh(17): identifier "p" is already declared in the present scope Error (10170): Verilog HDL syntax error at bch_mult_by.vh(17) near text "1"; expecting an identifier Error (10170): Verilog HDL syntax error at bch_mult_by.vh(26) near text "i"; expecting "=" Error (10170): Verilog HDL syntax error at bch_mult_by.vh(26) near text "<"; expecting "<=", or "=" Error (10170): Verilog HDL syntax error at bch_mult_by.vh(26) near text "+"; expecting "<=", or "=" Где беда - не понимаю, подскажите. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 May 10, 2011 Posted May 10, 2011 · Report post Во первых, Q91 похоже не поддерживает typedef ? Ругался на него, не может такого быть, потому что этот код используется в 3-х проектах собираемых в 9.1 ;) включите поддержку SV, 99.99% что вы забыли это сделать Quote Share this post Link to post Share on other sites More sharing options...
AndrewS6 0 May 10, 2011 Posted May 10, 2011 · Report post Ради спортивного интереса собрал декодер на Q9.0. Все завелось, только потребовалась небольшая доработка напильником: объявление logic fifo[$] в bch_dec.v я закомментировал. Еще пофиксил ругань на неименованность блока generate в bch_chieny_search.v Quote Share this post Link to post Share on other sites More sharing options...
des00 26 May 10, 2011 Posted May 10, 2011 · Report post Ради спортивного интереса собрал декодер на Q9.0. Все завелось, только потребовалась небольшая доработка напильником: объявление logic fifo[$] в bch_dec.v я закомментировал. Еще пофиксил ругань на неименованность блока generate в bch_chieny_search.v угу, это осталось от дебага, не заметил. UDP. новый релиз в атаче, добавлена поддержка укороченных кодов, возможность инстанса более одного декодера, с разными параметрами в проект, последовательный алгоритм определения полинома локаторов ошибок для медленных каналов, оптимизирован ресурс (убраны лишние регистры) и изменен принцип синхронизации буфера данных. Зы. копирайты только забыл поставить ;) bch_release_10052011.zip Quote Share this post Link to post Share on other sites More sharing options...
alexPec 4 May 10, 2011 Posted May 10, 2011 · Report post не может такого быть, потому что этот код используется в 3-х проектах собираемых в 9.1 ;) включите поддержку SV, 99.99% что вы забыли это сделать Спасибо, нашел опцию, вроде получается (пока пробую на другом квартусе, 81)... :) Quote Share this post Link to post Share on other sites More sharing options...
Кнкн 5 August 11, 2011 Posted August 11, 2011 · Report post Вот такое, похоже, в Квартусе не работает ? `define tabfile `"ddstab_13_9_7_6_4.vh`" ... ... `include `tabfile Quote Share this post Link to post Share on other sites More sharing options...
imperman 0 August 14, 2011 Posted August 14, 2011 · Report post Все дружит - проверено. Несколько вариантов решения проблемы (по вероятности) - 1. отключена поддержка SystemVerilog (у меня такое было - ругань выводилась похожая) 2. глюки Кварта под линуксом - лечится перезапуском. 3. удаление каких-то файлов отвечающих за SystemVerilog. Quote Share this post Link to post Share on other sites More sharing options...
nkie 0 September 25, 2012 Posted September 25, 2012 · Report post Не стал создавать новую тему, вопрос в сущности в том же самом. Пытаюсь ввести в свою профессиональную жизнь такой интересный язык как SystemVerilog, со всеми его плюшками. Установлен Quartus II 9.1 без SP-ов. В настройках проекта во вкладке Verilog HDL Input стоит выбор на SystemVerilog-2005. Расширение файла проекта *.sv (пробывал и *.v). В проекте пробывал использовать различные конструкции SystemVerilog-а, структуры типа: struct { int a; byte b; bit [7:0] c; } my_data_struct; my_data_struct.a = 123; интерфейсы... и т.д. Короче на все это Quartus ругается таким же образом, типа Error (10170): Verilog HDL syntax error at my_sv.sv(14) near text "="; expecting ".", or "(" Error (10170): Verilog HDL syntax error at my_sv.sv(23) near text "interface"; expecting "endmodule" Складывается впечатление, что не удается подключить SystemVerilog-овский компилятор. Не подскажет кто нибудь, может еще какие-то настройки нужно изменить или проверить наличие каких-нибудь библиотечных файлов, может быть SP нужно установить... Заранее спасибо... Quote Share this post Link to post Share on other sites More sharing options...
nkie 0 September 26, 2012 Posted September 26, 2012 · Report post [Тихо сам с собой виду беседу] Все, решил проблему, с компилятором все нормально, были синтаксические ошибки в коде. По ходу ознакомления с кодом des00 возникло очередное недопонимание. В файле bch_enc_dec_tb.v описывается класс class data_trans; А Quartus 9.1 говорит что он класы не поддерживает Значит они обманывают, и классы все таки поддерживаются? Quote Share this post Link to post Share on other sites More sharing options...
dxp 113 September 27, 2012 Posted September 27, 2012 · Report post По ходу ознакомления с кодом des00 возникло очередное недопонимание. В файле bch_enc_dec_tb.v описывается класс [...] Значит они обманывают, и классы все таки поддерживаются? Вы тестбенч с синтезом не путайте. Quote Share this post Link to post Share on other sites More sharing options...
nkie 0 September 27, 2012 Posted September 27, 2012 (edited) · Report post Вы тестбенч с синтезом не путайте. хм... да действительно. А не посоветует кто-нибудь какого нибудь ресурса, где можно по-подробнее почитать от начала до конца от процесса создания RTL-модели до его верификации, на каком-нибудь примере желательно. В идеале на русском, но сойдет и на английском. Edited September 27, 2012 by nkie Quote Share this post Link to post Share on other sites More sharing options...
des00 26 September 27, 2012 Posted September 27, 2012 · Report post хм... да действительно. А не посоветует кто-нибудь какого нибудь ресурса, где можно по-подробнее почитать от начала до конца от процесса создания RTL-модели до его верификации, на каком-нибудь примере желательно. В идеале на русском, но сойдет и на английском. в шапке форума тема про языки описания, там есть перечень рекомендуемой литературы Quote Share this post Link to post Share on other sites More sharing options...
nkie 0 September 28, 2012 Posted September 28, 2012 · Report post Уважаемый des00, а не могли бы вы у себя в блоге, как будет время немножко свободного, набросать небольшую статейку о полном цикле разработки модели. Т.е. от разработки RTL-модели, написания тестбенча, проведения моделирования и верификации на примере всем известного БЧХ-декодера. Не обязательно подробно, хватило бы даже коротко остановиться на основных вехах. С помощью каких утилит и инструментов выполнялось то или иное действие, основные подводные камни, поджидающие разработчика на том или ином этапе. Для новичков такое описание очень бы помогло. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 September 28, 2012 Posted September 28, 2012 · Report post Уважаемый des00, а не могли бы вы у себя в блоге, как будет время немножко свободного, набросать небольшую статейку о полном цикле разработки модели. Т.е. от разработки RTL-модели, написания тестбенча, проведения моделирования и верификации на примере всем известного БЧХ-декодера. Не обязательно подробно, хватило бы даже коротко остановиться на основных вехах. С помощью каких утилит и инструментов выполнялось то или иное действие, основные подводные камни, поджидающие разработчика на том или ином этапе. Для новичков такое описание очень бы помогло. Спасибо за такое вниманием к проекту %) Изначально он зарождался именно как просто проект для статьи в блоге, посвященной возможностями SV для быстрой и качественной разработки проектов. Но потом вырос в отдельный проект, был интегрирован в коммерческие проекты, а изначальная цель забыта из-за недостатка времени %(. Не уверен что в ближайшей перспективе, у меня будет время собраться с мыслями и оформить статью, поэтому ничего не буду обещать. Quote Share this post Link to post Share on other sites More sharing options...