lotorev 0 16 октября, 2007 Опубликовано 16 октября, 2007 · Жалоба enum там, вроде, есть. Там нет структур, С-типов, интерфейсов и прочего. Но все это есть в Ривьере. :) На основании этого можно полагать, что в следующих версиях Active все это появится. я имел ввиду поддержку enum при описании автоматов через State machine flow - через графити - она остсутствует. выше обсуждались преимущества и недостатки описания автоматов, через графити или текстом. Так вот при рисовании в графити в актив хдл пока получается что рисуешь не то что хочется, а то насколько ограничен в ресурсах редактора. Пишу все автомы руками. Столкнулся с проблемой, как и у автора топика, - много сопровождающего текста, куча begin...end. При правильном кодировании one-hot используя SystemVerilog приходится таскать по два параметра для каждого состояния (пример из книги Stuart Sutherland - SystemVerilog For design - A guide to using SystemVerilog for Hardware design and modeling, 2nd Edition.pdf): enum {R_BIT = 0,// index of RED state in State register G_BIT = 1,// index of GREEN state in State register Y_BIT = 2} state_bit; // shift a 1 to the bit that represents each state enum logic [2:0] {RED= 3'b001<<R_BIT, GREEN= 3'b001<<G_BIT, YELLOW = 3'b001<<Y_BIT} State, Next; always_ff @(posedge clock, negedge resetN) if (!resetN) State <= RED;// reset to red light else State <= Next; always_comb begin: set_next_state Next = State;// the default for each branch below unique case (1'b1)// reversed case statement State[R_BIT]: if (sensor)Next = GREEN; State[G_BIT]: if (green_downcnt== 0) Next = YELLOW; State[Y_BIT]: if (yellow_downcnt == 0) Next = RED; endcase end: set_next_state Такое описание должен правильно (в смысле преимущества кодирования one-hot - уменьшения логики, функция возбуждения нового состояния зависит только от одного бита текущего состояния и входа) синтезировать любой синтезатор без всяких FSM COMPILER!!!! synplify c такой конструкцией справляется, вместо enum {R_BIT = 0, необходимо писать localparam R_BIT=0, в противном случае synplify ругается. Вопросы к автору: 1) планируется ли поддержка SystemVerilog'a??? вся симуляция проходит в rtl - очень удобно видеть названия состояний вместо битовых 000010000. 2) если правильно понял вы используете subversion?? почему не добавить в первые строчки генерируемого кода fsm строки вида: // $Revision:: 240 $: // $Author:: $: // $Date:: $: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 16 октября, 2007 Опубликовано 16 октября, 2007 · Жалоба Немного не в тему, но есть вопрос, кто то пользовался Ривьерой? На сколько она отлична от ActivHDL, на сколько я понимаю это что то типа ModelSim т.е. только моделирование, но зато (по их информации) вроде побыстрее ActivHDL. Так это или нет. В рабочем проекте еще не использовал, только на тестовых гонял, планирую в ближайшее время подсесть. Ривьера действительно быстрее Актива. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Postoroniy_V 0 17 октября, 2007 Опубликовано 17 октября, 2007 · Жалоба В рабочем проекте еще не использовал, только на тестовых гонял, планирую в ближайшее время подсесть. Ривьера действительно быстрее Актива. Привет, Гарри! потыкался с риверой....блин пакаджи не понимает. несмотря на то, что есть поддержка Std 1800-2005 и она включена во время компиляции...облом :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 17 октября, 2007 Опубликовано 17 октября, 2007 · Жалоба потыкался с риверой....блин пакаджи не понимает. несмотря на то, что есть поддержка Std 1800-2005 и она включена во время компиляции...облом :05: Вот, блин!.. Действительно, совсем про них забыл. :( Самое досадное, что и в новой 2007.10-PRO их тоже нет, судя по документации. Не понимаю такого торможения. :( Даже Квартус их умеет (хотя и кривовато). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 21 октября, 2007 Опубликовано 21 октября, 2007 · Жалоба В матлабе в симулинке есть stateflow chart - пакет для разработки КА. А еще матлаб умеет транслировать в HDL. Кто-нибудь пробовал такую связку? Просто не знаю, стоит ли начинать разбираться с этим state flow или оно того не стоит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 декабря, 2007 Опубликовано 25 декабря, 2007 · Жалоба Добрый день! Приношу всем свои извинения, быстро решить проблему с размещением не получилось. Так что тема может быть давным давно уже потеряла актуальность. Но все же обещал выложить, выкладываю : все исходные коды генератора, а через некоторое время еще пары удобных тулзов для ХДЛ на языках питон и пары ХДЛ проектов (МПА, сдрам контроллер) будут выложены здесь. По мере приведения их в божеский вид и наличия времени на это: http://code.iprium.ru/ в частности код генератора можно взять здесь http://code.iprium.ru/browser/tools/tool_01_psmgenerator пока только trac. шкурка еще не натянута, этот процесс идет. Теперь о будущем проекта : За прошедшее время с использованием генератора сделал порядка 10 КА состояний на 15 - 40. Есть некоторые нарекания как на сам КА, так и на алгоритм его генерации (в частности момент старта автомата с ненулевым выходным вектором после сброса). Прорабатываются направления модернизации автомата. Вполне возможно объединение инструментов генерации МПА и КА, но это в проекте. пока у меня много времени текущая работа + копание в систем верилоге занимает :(. 1) планируется ли поддержка SystemVerilog'a??? вся симуляция проходит в rtl - очень удобно видеть названия состояний вместо битовых 000010000. планируется, изначально его отсутствие было вызвано плохой поддержкой СВ в альдеке, но с уходом ко квесте проблем не вижу. Но тогда те кто пользуется альдеком в пролете. Как быть с символьными именами ? предложите свой вариант задания имен состояний. 2) если правильно понял вы используете subversion?? почему не добавить в первые строчки генерируемого кода fsm строки вида: чайник однако :) да и propset ы ломает ставить %) для меня проще сделать релиз в tags. Спасибо всем за внимание к данной теме. Денис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Postoroniy_V 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба Добрый день! ........ http://code.iprium.ru/ .... http://code.iprium.ru/browser/tools/tool_01_psmgenerator ...................... Спасибо всем за внимание к данной теме. Денис. Добрый день, Денис! Хорошо что так можно Ваши исходника посмотреть. Но к сожалению не смог открыть страницу на работе. Посмотрю дома :) Всё равно спасибо :) to ALL обнаружился новый проект мелкого проца на опенкорах ZPU ZPU - the worlds smallest 32 bit CPU with GCC toolchain http://www.opencores.org/projects.cgi/web/zpu/overview вот оригинальная ссылка http://www.zylin.com/zpu.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба обнаружился новый проект мелкого проца на опенкорах ZPU ZPU - the worlds smallest 32 bit CPU with GCC toolchain Класс!!! Особенно меня поразило что он стековый и вот эти строки The ZPU backend maps the GCC register concept onto stack slots in the stack frame(this different from pseudo registers) ну и производительность 1-10 MIPS не очень ИМХО. И набор команд не впечатляет. но у них указано Could do with a Verilog implementation(ca. 600 lines to translate) можно в помощники напроситься как нить..... реверс инженеринг подобных штук всегда интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 января, 2009 Опубликовано 26 января, 2009 · Жалоба На новогодних праздниках нашел время и вдохновение вернуться к данному проекту и сделал версию 4.0. В этой версии реализована генерация КА на языках SystemVerilog, Verilog в onehot/native форматах. Парсер переделан полностью и основан на PLY/YACC, в результате чего размер кода много сократился. Введены команды с доопределением состояния по умолчанию. Введена возможность группировки логических условий, вида a ^ (b & c) Синтаксис взят полностью верилоговский (спасибо проекту pycparser) Все как и раньше Free For Use %) ЗЫ. Может имеет смысл сделать тему, куда разработчики, которым не жалко, будут выкладывать самодельные тулзы "в помошь HDL шику". У меня несколько таких используется и еще одна в разработке. psm_compiler.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lepert 0 26 января, 2009 Опубликовано 26 января, 2009 · Жалоба Я посмотрел на форуме есть не только тулзы разработчика, но и несколько по настоящему ценных проектов, которые форумчане выложили в разных темах. Действительно, хорошо бы объединить их в одном месте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 18 марта, 2009 Опубликовано 18 марта, 2009 · Жалоба http://code.iprium.ru/ в частности код генератора можно взять здесь http://code.iprium.ru/browser/tools/tool_01_psmgenerator а что умерла тема? битые сцылки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2009 Опубликовано 19 марта, 2009 · Жалоба а что умерла тема? битые сцылки та тема заглохла, последние обновления выкладываю на форуме. Пофиксил ошибку с неправильной генерацией выходных сигналов при работе КА с разрешением psm_compiler_18032009.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться