Jump to content

    

Tcl интерпретатор

В Quartus используется язык Tcl для создания проектов, разного рода присвоений, компиляции и др. И соответстенно есть консоль для ввода комманд: Tcl Console. Там можно загружать package ну и работать вообщем.
Но ведь Tcl это это интерпретируемый язык программирования, имеющий свой интерпретатор - это tclsh.exe в папке quartus\bin64
Но вот если запустить этот интерпретатор, то стандартные действия языка Tcl производить можно, а вот всё что относится непосредственно к Quartus не запускается. Пишет, что не может найти соответстующий пакет.
Подскажите можно ли догрузить квартусовский функционал непосредственно через интерпретатор? Может быть даже не через родной интерпретатор?

 

Share this post


Link to post
Share on other sites

Я точно знаю, что можно и это должно быть в документации. Но времени разбираться нет и я бы тоже хотел узнать как такое делать но для Vivado. Может есть какой-то краткий гайд

Share this post


Link to post
Share on other sites

Приветствую!

А какой конкретно функционал вам нужен? Ведь часть функций может быть реализована в виде бинарников и доступ к ним и соответствующим переменным возможен только при запуске интерпретатора tcl из под бинарника.  

И чем вам  quartus_sh  не устраивает?  Он как раз запускает tcl интерпретатор в окружении Quartus функционала. 

Удачи! Rob.

 

 

Share this post


Link to post
Share on other sites
1 hour ago, RobFPGA said:

Приветствую!

А какой конкретно функционал вам нужен? Ведь часть функций может быть реализована в виде бинарников и доступ к ним и соответствующим переменным возможен только при запуске интерпретатора tcl из под бинарника.   

И чем вам  quartus_sh  не устраивает?  Он как раз запускает tcl интерпретатор в окружении Quartus функционала.  

Удачи! Rob.

Меня просто возмущает, что ни command line ни Tcl скрипты нельзя отлаживать, например тот же Python прекрастно выполняется по шагам и ни каких проблем нет. Конечно всегда можно отлаживать и просто выводя результаты в консоль, но это как будто бы прошлый век. Поэтому мне хотелось бы иметь возможность пошагово отлаживать .tcl скрипт.

Я установил Eclipse, модуль для поддержки Tcl и отладчик. Указал в качестве интерпретатора интерпретатор от Quartus и подключил (прописав в TCLLIBPATH - там есть это в настройках при выборе интерпретатора) пакеты из папки quartus\common\tcl\packages

А вот подключить пакеты ::quartus::flow, ::quartus::project и прочие не удаётся. Может быть они действительно находятся где-то в .dll-ках или ещё где. Но это не значит, что их нельзя подключить. Может кто укажет как это сделать.

0064.png

Share this post


Link to post
Share on other sites

предположу (100% не уверен, но удивлюсь, если неправ), что те dll-ки содержат вкомпиленный в себя интерпретатор tcl - он для этого и создан и такой примитивный, чтобы его можно было скомпилить с сишным кодом, и заменить его каким-то совершенно другим интерпретатором из пакета эклипсы не получится, то есть вызов квартусовских функций из постороннего интерпретатора не возможен

-----------------

советую почитать инструкцию по отладке tcl-ного кода - всяческие trace uplevel и т.п. и как этим пользоваться - так как код для управления квартусом достаточно простой (а внутрь встроенных функций квартуса не заглянешь), то этого должно хватить

 

Share this post


Link to post
Share on other sites
On 9/2/2019 at 1:08 PM, djhall said:

Я установил Eclipse, модуль для поддержки Tcl и отладчик. Указал в качестве интерпретатора интерпретатор от Quartus и подключил (прописав в TCLLIBPATH - там есть это в настройках при выборе интерпретатора) пакеты из папки quartus\common\tcl\packages

А вот подключить пакеты ::quartus::flow, ::quartus::project и прочие не удаётся. Может быть они действительно находятся где-то в .dll-ках или ещё где. Но это не значит, что их нельзя подключить. Может кто укажет как это сделать.

 

 

Это не совсем нормальный Eclipse, но пакеты ::quartus::flow, ::quartus::project подключены

 https://insights.sigasi.com/tech/eclipse_tcl_support_in_sigasi/

 Если получится, расскажи об успехе :beach:

Share this post


Link to post
Share on other sites

Не совсем понимаю как ты получишь доступ к базе данных проекта (лутам, цепям, задержкам, свойствам и тд), чтобы проводить отладку скриптов?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this