Jump to content

    

Kluwer

Участник
  • Content Count

    281
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Kluwer

  • Rank
    Местный

Контакты

  • Сайт
    http://havukosken.ru/
  • ICQ
    0

Recent Profile Visitors

2314 profile views
  1. Кстати, и ещё проще :) Можно даже кода почти не писать, есть готовые оболочки по типу Delphi, только, я бы сказал, ещё даже проще и интуитивные, к-рые позволяют графические мордочки раскладывать и код генерить. Например, tkBuilder. Так что вполне юзАбельный инструментарий.
  2. Виноват, не заметил, что вы на VHDL пишите. Это верилоговский макрос, означает, что нельзя использовать заранее не объявленные провода. Теоретически, вы можете верилоговскую шапку над своим VHDL-модулем сгенерить в к-ром поставить `default_nettype none Кривоватое, конечно, решение, но может быть поможет ...
  3. Можно и это будет работать, но это дико не удобно. Нет, смена разрешения файла ничего не даёт. Хоть .sip, хоть .qsf, хоть что угодно (хотя, ваша мысль про связь .qip и IP-кор интересна: возможно он изначально мой .qip рассматривает как результат работы мегавизарда, а стандартной шапки в коде модуля не находит и ему малость плохеет). Изменение имени - да, как MaratZuev выше предлагал, но по мне это дико не удобно. Кроме того, ещё одна проблема есть, не стал сразу в первом сообщение писать. Вот, например, вы перегенерили графический символ для блока Module1 (Module1.bsf) и хотите его обновить. Причём, хотелось бы это сделать из меню "Update Symbol or Block ...". Но, даже если вы любитель всё руками делать (один удалить, второй вставить, inst руками поменять) он должен быть прицеплен к проекту. Для этого его нужно прицепить к проекту через тот же скриптовик (.qip, ну или, пожалуйста, с другим расширением). Если вы его цепляете как set_global_assignment -name "BSF_FILE" [file join $::quartus(qip_path) "Module1.bsf"] то при щелчке на графическом элементе в схем ещё и он будет в списке выдаваться! Т.е помимо "Module1.sv" и "Module1.qip" он вам любезно ещё и Module1.bsf" предолжит :( А если его вообще не прописывать, или прописать как "прочий" файл set_global_assignment -name "MISC_FILE" [file join $::quartus(qip_path) "Module1.bsf"] то тут вообще какой-то вынос мозга начнётся, потому что Квартус, в зависимости от ваших действий (например, вы файл вообще из другого проекта открыли в другом каталоге) переодически вообще перестаёт графический символ видеть. Проблему полностью решает, как ни странно, прописывание абсолютных путей. Но при работе командой (разбросанной в нескольких странах, тем более) за абсолютные пути расстреливать надо. А прописывание относительных путей, типа set_global_assignment -name SEARCH_PATH [file join $::quartus(qip_path) "." ] помогает Квартусу всё что надо видеть во время сборки (вот при сборке и сразу после неё, странное дело, он всё прекрасно находит, если пути поиска прописаны). Но стоит даже во вне Квартуса (!!!) открыть какой-то каталог другой, Квартус моментально перестаёт видеть графические символы. Короче, заколдованный круг какой-то: либо каждый раз список из трёх файлов, либо постоянный геморр с путями :(
  4. Да, оказалось всё ещё проще: в Квартусе уже есть подгруженный Tk. Подгружается к скрипту командой "package require Tk <версия>". В подкаталоге \quartus\bin<32 или 64>\tk<версия>\demos уже лежат готовые примеры. Например, hello (почему-то без расширения, я добавил для удобства .tcl). После этого в той же "Систем консоли", wish'е, или в рукопашную из DOS-строки "quartus_sh ..." запускаем, получаем такую картинку. Там есть более навароченная версия widget, она демонстрирует работу вообще со всеми доступными управлениями (менюшки, списки и т.д.). Но у меня она работает частично, как всегда начинается рубилово с путями (скрипт умудряется не найти каталог из которого его запустили :( ) В общем, первый шаг сделан, направление понятно, буду копать дальше.
  5. Попробуйте опцию "default_nettype" поставить в "none".
  6. Ну, например, сейчас над одним проектом работает сразу три плисовода, в т.ч. и я. У меня большой модуль, к-рый ведёт обработку сигналов и обеспечивает передачу данных по сети. Он лежит в отдельном подкаталоге, внутри всё тоже по подкаталогам разложено. Мы пробовали всякие CVS'ы, но переплевались и по старинке, просто кидаем друг другу обновлённые версии своих модулей. Все эти подпроекты, есс-но, подключаются с помощью головных .qip-файлов (а как ещё?), в к-рых всё досконально прописывается. И есть одна большая накрывающая графика, где просто глобально соеденены наши модули. В рез-те, если у меня появилась новая версия, то я просто тупо бросаю один-два файла коллегам и всё. В особо запущенных случаях (например, я что-то глобально переделал в своём подпроекте) архивируется и кидается весь каталог под замену. Но коллеги ни о чём не думает, ибо .qip-файл прописан уже в списке файлов: заменили или добавили то, что я присла и понеслась. Всё удобно и прекрасно работает за исключением вот этой мелочи с запросным окном, к-рая жизнь немного портит.
  7. Всем доброго дня! Вопрос такой. Интенсивно использую "Систем Консоль" в Квартусе для всяких мелких настроек в проекте. Но рулить tcl-скриптами текстовыми командами типа "SAVEREG 12 0011" уже поднадоело - хочется графики. Встроенные средства типа "Контент едитора", на мой взгляд, убоги. Хочется User-defined-возможностей. Но в описании на 13ю версию Квартуса в разделе №9 "System Debugging Tools Overview" на стр. 9-12 в подразделе "Push Button Functionality" читаю: "When used with the Tk toolkit, you can build your own graphical interface" и всё, больше никаких подробностей. Как я понял, Tk - это графическая надстройка/библиотека над Tcl. Но никакой вменяемой инфы не в Инете, не на сайте Альтеры не могу найти где её взять, как подключить, как проверить и т.д.? Если кто знает, поделитесь инфой, плиз!
  8. Ну смотрите. Я сделал модуль на HDL, условно Module1.sv сгенерил по нему графику. Оба файла подключаю к проекту с помощью .qip-файла, в к-ром пишу, типа: set_global_assignment -name "SYSTEMVERILOG_FILE" [file join $::quartus(qip_path) "Module1.sv" ] set_global_assignment -name "MISC_FILE" [file join $::quartus(qip_path) "Module1.bsf"] Далее вставляю графический символ Module1 в некий .bdf-файл верхнего уровня. Всё замечательно. Теперь, мне понадобилось отредактировать Module1. Я щёлкаю два раза (ну или вываливаю меню "Open design file") по графическому символу, но вместо того, что бы просто открыть мне Module1.sv в редакторе, он мне сначала вываливает окно "Что вы хотите открыть Module1.sv или Module1.qip?". Вот можно как-то Квартусу объяснить, что бы он по умолчанию открывал именно HDL-код, не задавая вопросов?
  9. А зачем вам это всё, да ещё крепко заточенное под "Латтайс"? Берёте любой подходящий тулбокс, коих тучи, для задания и обучения НС (да хоть тот же Матлабовский), задаёте кол-во слоёв и "нейронов", обучаете, получаете коэффициенты. Дальше слепить НС с любым кол-вом слоёв руками - как два пальца обсасать, лишь бы влезло по скорости и ёмкости. В чём проблема-то? P.S. И, кстати, если у вас задача распознования лиц на изображении, то она гораздо эффективнее и проще решается без идиотских "нейронных сеточек". Например, тот же метод Виолы-Джонса.
  10. Если честно, никогда не мог понять ценности подобных опросов. На вкус и цвет ... как известно. Разве только очередной пустопорожний холивар устроить на тему "настоящие плисоводы пишут ручками или рисуют в графике". Пустое ...
  11. Коллеги, как сделать так, что в Quartus'е при щелчке на графическом изображении модуля, добавленного в проект с помощью .qip-файла открывался именно исходник, а не выпадало постоянно окошко с выбором "вам .qip-файл, или исходник?"?
  12. RTL-код перестал вдруг портироваться на асики? Really, Elon Mask?!
  13. Коллега, я извиняюсь, но мой пост был не с целью обсудить "выгоду". Я просто написал, что существует такой способ, точка. И хотелось бы понять есть ли какие-то инструменты для реализации данного способа. Если у вас есть что на примете - буду благодарен, а обсуждать "да зачем оно нужно..." я не намерен.
  14. Спасибо, что хоть кто-то ответил :) Leka, я так понимаю, один из форумчан?
  15. А кто мешал вам, простите, параметры прямо в корке менять? Корка чем и хороша, что она генерит, в т.ч. на указанном вами языке "шапку". Копируйте эту шапку себе в проект и параметризуйте как вам угодно. Вот, например, подмодуль стэка с переменной глубиной и разрядностью, первоначально сгенерённый в gui мегавизарда module FIFO_template #( parameter WIDTH_U = 14, parameter WIDTH_D = 16 ) ( input aclr, input clock, input [(WIDTH_D-1):0] data, input rdreq, input wrreq, // ----------------------------------- output [(WIDTH_D-1):0] q, output [(WIDTH_U-1):0] usedw ); scfifo scfifo_component (.aclr (aclr), .clock (clock), .data (data), .rdreq (rdreq), .wrreq (wrreq), .usedw (usedw), .q (q), .almost_empty (), .almost_full (), .empty (), .full (), .sclr ()); defparam scfifo_component.add_ram_output_register = "OFF", scfifo_component.intended_device_family = "Stratix III", scfifo_component.lpm_numwords = 2**WIDTH_U, scfifo_component.lpm_showahead = "OFF", scfifo_component.lpm_type = "scfifo", scfifo_component.lpm_width = WIDTH_D, scfifo_component.lpm_widthu = WIDTH_U, scfifo_component.overflow_checking = "ON", scfifo_component.underflow_checking = "ON", scfifo_component.use_eab = "ON"; endmodule