Jump to content

    

Recommended Posts

господа,

хочу разобраться с tcl scripting . для фпга.

подскажите что можно почитать по этому поводу

и если не трудно поделитесь литературой

 

заранее благодарен всем откликнувшимся

Share this post


Link to post
Share on other sites
работаю с альтерой. для начало хотелось бы разобраться как и что и для чего это можно использовать

 

Если моделирование Вы выполняете в ModelSim (QuestaSIm), то с помощью TCL Вы можете автоматизировать процесс моделирования: реализовать свою условную компиляцию, запуск и управление сеансом моделирования и т.п. В Quartus'e я не силен - тут пусть подскажут другие. :)

Share this post


Link to post
Share on other sites

для изучения команд quartus наберите в консоли tcl : help.

Хотя в кватрусе все построено по принципу нажал и получил - особо не пошаманиш

Share this post


Link to post
Share on other sites

меня интересует связка actve hdl, Symplify, Quartus

для синтеза такие вещи как присвоение пинов задание емкости и др

для симуляции я для пока не определился что мне надо поэтому все интересно.

накачал с елекроды книг сижу разбираюся, пока плохо понятно

как tcl tk облегчит мне жизнь

Share this post


Link to post
Share on other sites

Tcl/Tk лучше применять когда вы хотите заавтоматизировать процесс, например вы тестер и у вас проектов целая куча, написали скриптик, нажали кнопочку и процесс пошел, а вы пошли пить кофе :)

Share this post


Link to post
Share on other sites

ок. тогда в существующую тему напишу:

 

также появилась необходимость совершить качественный скачок. корифеи цифрового дизайна ( des00, SM ) рекомендуют осваивать скриптовый язык TCL

все основные тузлы для ASIC&FPGA его поддерживают:

- Mentor (в modelSim он наверное вообще от рождения встроен)

- Альтера

- Synplify

- в последнем ISE тоже появилась т.н. TCL-console

 

в связи с этим вопросы:

1) с чего начать изучение?!

2) для чего Вы используете в своей работы TCL?

 

 

маленькое моё представление по этим пунктам:

1) по документации:

у альтеры и Synplify TCLу посвящена отдельная глава, у Xilinx хелп по TCL расстроил : маленькая папочка с тхт-файлами помощи по командам вместо полноценного описания :(. Т.е. по этому пункту скорее всего нужен контекстом-определяемый источник документации: в зависимости от п2

 

2) как я понимаю, TCL может упростить хранение настроек проекта и отказаться от использования графических средств (проджект-манеджеров).

Далее синтез: скорее всего в пределах одного синтезатора можно указывать constrains, поддерживаемые плис различных производителей(?)

ну и, наверное, как любой мощный скриптовый язык (тут наверное можно сравнить с Python по сравнимой поддержке регулярных выражений и сетевых сокетов) можно использовать для повседневных задач (вспомогательные утилиты командной строки).

Share this post


Link to post
Share on other sites

Ну что я сюда могу добавить... Для синтеза TCL дает не особо много, первое применение - в констрейнах, например (synopsys):

 

set_max_delay -through [get_pins -of_objects [get_cells r_reg* -hier] -filter "@pin_direction == out"] 60

 

Тут идет некая обработка списков, где get_cells получает список ячеек с именами, начинающимися с r_reg*, далее get_pins составляет список выходных пинов этих ячеек, ну и в конце ставится констрейн set_max_delay на пути через все эти пины. Без TCL мне бы пришлось каждый раз добавляя защелку (именно они у меня называются r_reg*) добавлять констрейн в скрипт синтеза.

 

Второе применение - это зацикливание в процессе оптимизации до получения заданных параметров, Считывание в цикле например всех верилог-файлов из директории и поддиректориев...

 

Ну а основное - и вот тут совсем никуда - это всякие удобства типа PCELL в рисовалках топологии, то есть например формирование топологии элемента по его параметрам из схемы, но тут примеров приводить не буду, скрипты больно длинные и сложные.

Share this post


Link to post
Share on other sites
работаю с альтерой. для начало хотелось бы разобраться как и что и для чего это можно использовать.

 

спасибо

 

Тебе сюда: h??p://www.altera.com/support/software/quartus2/scripting/qts-scripting.html

Share this post


Link to post
Share on other sites

to SM

 

cпасибо. весьма показательный пример. в связи с этим пару вопросов:

1) для владения такими вот приемами достаточно ли чтения user manual на конкретный синтехатор/тузу?

2) r_reg* - это уже из разряда соглашений при кодировании. Вы пользуетесь какими-то конкретным стилем из какой-либо полезной книжки/мануала - или это больше из накопленного и обобщенного опыта??

Share this post


Link to post
Share on other sites

работаю с альтерой. для начало хотелось бы разобраться как и что и для чего это можно использовать.

 

спасибо

 

Тебе сюда: h??p://www.altera.com/support/software/quartus2/scripting/qts-scripting.html

 

или сюда... ;)

h??p://www.b4open.spb.ru/bin/view/B4/QuartusAdvancedUsageArticle

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this