AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Драсте. как обычный программер я привык что компилятору достаточно указать каталоги библиотек, и он сам все найдет и перекомпилит сорсы если надо. в менторе оказалось что библиотека к сорсам имеет весьма опосредованое отношение - ето место куда сбрасываются скомпиленые модули, а сами сорсы надо явно внести в список файлов проекта. есть ли способ обойтись бе етого? если библиотека большая - морока ее содержимое перебирать и в сорсы включать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба есть ли способ обойтись бе етого? если библиотека большая - морока ее содержимое перебирать и в сорсы включать а с командной строки работать не получается ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Забудьте раз и на всегда программерский подход. Вы описываете электрическую схему соединения различных операционных блоков. Соответственно и подход к компиляции-оптимизации другой. Тут оптимизируется проект целиком, на уровне логической функции зависимости каждого выхода от каждого входа, и времени распространения сигнала через эту функцию, даже сквозь модули. Поэтому целесообразно подключать именно все исходники. Некое подобие библиотеки существует - это отсинтезированный модуль в виде его нетлиста. Как бы по аналогии с программированием "объектный модуль". Но этот нетлист тоже должен быть явно подключен к проекту, это раз, и он подойдет только к той технологии (или конкретному семейству), под которую был отсинтезирован, это два. И он может быть не оптимально синтезирован в рамках его обрамления в конкретном проекте, это три. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба а с командной строки работать не получается ? а как ето поможет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба в менторе оказалось что библиотека к сорсам имеет весьма опосредованое отношение - ето место куда сбрасываются скомпиленые модули, а сами сорсы надо явно внести в список файлов проекта. а как ето поможет? ну например вот так run.do : set prjdir "E:/prj_verilog/service_channel" set rtldir $prjdir/rtl set incdir $prjdir/include set ovmdir $prjdir/include/ovm set tbdir $prjdir/testbench set debug 1 #set opt novopt if {$debug} { set opt novopt set seed 5 } else { set opt O4 set seed [clock seconds] } # vdel -all work vlib work # # rtl compile vlog -sv -$opt +incdir+$incdir+$rtldir $rtldir/*.v # # tb mspi compiled vlog -sv -$opt +incdir+$incdir+$tbdir/mspi $tbdir/mspi/mspi_if.sv vlog -sv -$opt +incdir+$incdir+$tbdir/mspi $tbdir/mspi/stream_if.sv vlog -sv -$opt +incdir+$incdir+$ovmdir+$tbdir/mspi $tbdir/mspi/mst_prog.sv vlog -sv -$opt +incdir+$incdir+$ovmdir+$tbdir/mspi $tbdir/mspi/sch_mspi_tb.v if {$debug} { vsim -novopt +OVM_TESTNAME=mst_loop_test -suppress 3009 work.sch_mspi_tb } else { vsim +OVM_TESTNAME=mst_loop_test -suppress 3009 work.sch_mspi_tb run -all } а затем в командной строке do run.do, никаких подключений, проектов или чего либо еще PS. это только для ментора, для квартуса нужно делать как говорит SM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба ну например вот так Гы. А ментор оказывается понятие растяжимое :) :) Я сразу почему-то подумал, что речь пойдет о precision, и долго пытался въехать, как же тут поможет командная строка... Если это не написание шелл-скрипта линуксоидного, конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба а затем в командной строке do run.do, никаких подключений, проектов или чего либо еще PS. это только для ментора, для квартуса нужно делать как говорит SM однако.. а можно короткий комент что к чему? (или осваивать командную строку надо до самых глубин) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sefo 0 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Меня в вопросе автора темы смущает одно его замечание ... если библиотека большая - морока ее содержимое перебирать и в сорсы включать У меня, почему-то складывается ощущение, что предыдущие ответы не совсем на его вопрос. Прошу автора уточнить что значит содержимое перебирать и в сорсы включать - опишите как Вы это делаете, дайте пример в каких случаях Вы это далаете, еще лучше выложите какой-нибудь свой проект с "перебранными" библиотеками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Меня в вопросе автора темы смущает одно его замечание У меня, почему-то складывается ощущение, что предыдущие ответы не совсем на его вопрос. Прошу автора уточнить что значит - опишите как Вы это делаете, дайте пример в каких случаях Вы это далаете, еще лучше выложите какой-нибудь свой проект с "перебранными" библиотеками. несекрет что квартус и кажись хилиних неумеют работать с модулями содержащими несколько компонентов (вот моделсим их нормально переваривает) в смысле по етим компонентам нельзя потом сделать символы для схем. посему правило один компонент - один модуль получается негласным правилом хорошего тона. в результате получаем на множество даже похожих компонентов кучу сорсов, и все их надо както подключать. пока вроде у меня терпелки хватает, но по опыту программирования на паскале\с напрашивается вывод что хорошая всеобъемлющая либа рано или позно разрастеца так что трудно будет большие проекты делать\переносить с места наместо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба а можно короткий комент что к чему? (или осваивать командную строку надо до самых глубин) это скрипт на TCL, который заменяет создание проекта и подключение файлов в моделсиме, а также рутиную работу по запуску моделирования. несекрет что квартус и кажись хилиних неумеют работать с модулями содержащими несколько компонентов бред, бросайте рисовать пока не поздно, тогда поймете что в один файл можно напихать туеву хучу модулей, правда за такое руки надо бы все же отрывать. в результате получаем на множество даже похожих компонентов кучу сорсов, и все их надо както подключать. пока вроде у меня терпелки хватает, но по опыту программирования на паскале\с напрашивается вывод что хорошая всеобъемлющая либа рано или позно разрастеца так что трудно будет большие проекты делать\переносить с места наместо у меня в проекте порядка 200-300 файлов и ничего, 1 раз добавил, потом qsf/qpf и скрипты не выкидывай. переносимость проекта мгновенная. а svn с линками на используемые модули дают легкий способ включать их в любые проекты. Переносимость проекта тоже хорошая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба в результате получаем на множество даже похожих компонентов кучу сорсов, и все их надо както подключать. Правильно сказали. Бросайте рисовать, переходите на язык и осваивайте параметризацию модулей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Правильно сказали. Бросайте рисовать, переходите на язык и осваивайте параметризацию модулей. рисовалка нетак уж плохо - можно быстро накидать используемые компоненты в схему и потом сгенереный модуль редактировать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sefo 0 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба в результате получаем на множество даже похожих компонентов кучу сорсов, и все их надо както подключать. В зависимости от похожести можно вместо множества сделать один параметризованный. Схематика (Квартуса, во всяком случае) параметризацию поддерживает. Кроме того, никто Вам не мешает при создании компонента сначала написать его в отдельном файле, сгенерировать символ, а затем поместить код в общий библиотечный файл. Еще, не пробовали у Квартуса в Settings раздел Libraries? Там, между прочим, есть Global Libraries (all projects). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба Еще, не пробовали у Квартуса в Settings раздел Libraries? Там, между прочим, есть Global Libraries (all projects). ну чем поможет етот Global если все равно надо лапками сорс в проект втаскивать и вдобавок указывать в какую либу он должен компилиццо. (--syntese library конешно втооре требование облегчает) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 8 марта, 2010 Опубликовано 8 марта, 2010 · Жалоба Вопрос к des00, Sefo и др.: Так как все-таки в Quartus запихать в один библиотечный файл кучу модулей? У меня что-то не находятся они. Похоже, видны только модули верхнего уровня (совпадающие с именем файла). Можно подключить файл с библиотечными модулями в файл проекта, например, так: `include "QuartusLibrary.v" Есть ли более приличное решение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться