Перейти к содержанию
    

Хоть убейте - не верю, что это возможно! Я

Вы сомневаетесь именно в том что в языке С++ (системС) нехватает описательных возможностей для работы над аппаратными моделями? Или в том что у синтезатора для системС, когда он появится (если еще не появился или вообще появится), не будет какой-либо особенной опции оптимизации или он не сможет учитывать особенности целевого чипа?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот теперь скажите мне, пожалуйста, как, описывая проект на SystemC, С++, чем угодно, кроме HDL, выторговать у синтезатора тот самый один триггер...

Никоим образом не хочу вас обидеть или перевести дискуссию в русло "кто круче прогер или схемник?" :a14:

Хочу лишь заметить что вы смешиваете понятия «язык» и «средство разработки»(здесь синтезатор). Отсутствие гибких средств разработки для столь молодого языка еще ничего не значит. И изначально вопрос был о перспективах системС как HDL по вашему мнению.

 

Уважаемый K!V !

 

Получил несказанное удовольствие узнать, что, работая 12 лет в области систем автоматизированного проектирования в микроэлектронике, и 8 лет в FPGA design, не смог разобраться что есть язык моделирования и средство разработки как таковое. IMHO, синтезатор более относится к средству реализации... Он ближе к ним хотя бы по той причине, что просто выполняет преобразование модели в вентильное описание. И вы, как разработчик, имеете не самое значительное влияние на его результат, не задав предварительно адекватную модель. А разработка модели - она как раз и проявляется в описании модели устройства в выбранном базисе. Язык - это всего лишь средство формализации описаний и приведения их ко множеству понятных средству реализации структур...

 

Я даже соглашусь называть SystemC языком. Пусть так будет. Но, возвращаясь к первоначальному вопросу дискуссии о перспективах SystemC как замены HDL, позволю себе еще раз высказать СВОЕ СУБЪЕКТИВНОЕ МНЕНИЕ. Изначально SystemC разрабатывался как средство, ускоряющее процесс разработки и отладки поведенческой модели ASICов, что необходимо для проверки идей проекта в целом и грамотного выбора подходов по их реализации "в железе". Алгоритмическая модель - это так же и средство для формальной верификации RTL-описания. Синтез вентильного описания из алгоритмического - это серьезный вопрос к синтезатору. Оптимизация этого описания - еще более серьезная задача. На сегодняшний день нет серьезных причин бросать HDL и переходить на C++ при проектировании СБИС. Верификация - да, возможно. Но тоже не самый лучший выбор. Пока не появится грамотных СРЕДСТВ РЕАЛИЗАЦИИ описаний, я бы не стал уповать на единство HW/SW языков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все ниже написаное мое личное мнение:

SystemC не предназначается для получения выигрыша при синтезе (что-то как-то коряво сказал). Язык systemc как раз наоборот был предназначен для повышения уровня абстракции. Это мы в России ведем основные разработки на ПЛИСАХ, микроконтроллерах. А за бугром янки более продвинуты: разрабатывают и клепают системы на кристалле только в путь. А попробуйте-ка сейчас на том, софте который Вы используете, хотя бы разработать системку (тот же мобильник): процессор + софт+ логика+память+куча интерфейсов да еще и в короткие сроки. Как это все вместе моделировать? Сколько времени займет? А еще бы и быстродействие оценить было бы неплохо, до того как начали разрабатывать софт и логику. Да еще бы и с процессором определиться. Ведь проц стоит порядка 100-500 тысяч уе (имеется ввиду возможность использования топологии готового процессора ARM в своих схемах). На данный момент большинство стандартных шин имеют описания на уровне транзакций на SystemC. Вот Вам и сокрашение времени моделирования и возможность оценки производительности системы.

А по поводу синтеза: во-первых никто не заставляет Вас писать RTL код на SystemC, пишите на Verilog и VHDL. А во-вторых: синтезаторы для SystemC есть, вот только пока не настолько продвинутые как для verilog и vhdl.

Возможность использования дельта задержек-аналогична VHDL и те же списки чувствительности и те же типы данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все ниже написаное мое личное мнение:

SystemC не предназначается для получения выигрыша при синтезе (что-то как-то коряво сказал). Язык systemc как раз наоборот был предназначен для повышения уровня абстракции. Это мы в России ведем основные разработки на ПЛИСАХ, микроконтроллерах. А за бугром янки более продвинуты: разрабатывают и клепают системы на кристалле только в путь. А попробуйте-ка сейчас на том, софте который Вы используете, хотя бы разработать системку (тот же мобильник):  процессор + софт+ логика+память+куча интерфейсов да еще и в короткие сроки. Как это все вместе моделировать? Сколько времени займет? На данный момент большинство стандартных шин имеют описания на уровне транзакций на SystemC.  Вот Вам и сокрашение времени моделирования.

А по поводу синтеза: во-первых никто не заставляет Вас писать RTL код на SystemC, пишите на Verilog и VHDL. А во-вторых: синтезаторы для SystemC есть, вот только пока не настолько продвинутые как для verilog и vhdl.

Возможность использования дельта задержек-аналогична VHDL и те же списки чувствительности и те же  типы данных.

 

Именно! Архитектурное моделирование Hardware/Software Co-Design, Embedded Systems Design, и многое другое моделируется просто изумительно на SystemC. Обеими руками за эту идею. Но уж если развивать мысль о продвинутости буржуев, то, как сам имел возможность наблюдать в Оттаве (Канада): пишут RTL на Verilog'e, моделируют системы на SystemC, верифицируют RTL на Synopsys VERA HVL (или Specman), а так же Sugar/PSL для formality ckecking, если нужно что-то сложное добавить, не стесняясь покупают IP-ядро, написанное-таки на HDL и оптимизированное для конкретной технологии, и т.п. Всему свое место.

 

Резюме: SystemC прекрасное средство МОДЕЛИРОВАНИЯ систем на высоком уровне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый oleg_rudakov!

Простите если обидел. Просто многие дор сих пор делают проекты "на Altere" или пишут на "языке Visual С++". И им тоже не 5 лет.

 

Но вы так и не ответили хотябы на предыдущий вопрос.

Так и не увидел принципиальных проблем в том чтобы описать модель структурно (RTL) а не поведенчески на системС. Буду очень рад если вы мне их укажите.

 

PS.Да кстати кто вам сказал что я думаю что системС должен ЗАМЕНИТЬ HDL??? И почему стать HDL ему не суждено?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и не увидел принципиальных проблем в том чтобы описать модель структурно (RTL) а не поведенчески на системС. Буду очень рад если вы мне их укажите.

 

PS.Да кстати кто вам сказал что я думаю что системС должен ЗАМЕНИТЬ HDL??? И почему стать HDL ему не суждено?

 

Написать структурную модель на SystemC нет проблем, поведеньческую тем более. Но кроме написание, ее нужно еще и в железо превратить. Вот тут у systemC проблемы.А языком полноценном HDL ему не стать до тех пор пока не будет эффективного синтезатора.

На данный момент по возможности моделирования SystemC => HDL (verilog, vhdl)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да SystemC не предназначается для получения выигрыша при синтезе! Он предназначен как раз для того чтобы избежать подхода к разработке которую наблюдал oleg_rudakov в Оттаве (Канада)! Ибо "Using the SystemC approach, the designer does not have to be an expert in multiple languages. SystemC allows modeling from the system level to RTL, if necessary." SystemC User Guide 2.0.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый oleg_rudakov!

Простите если обидел. Просто многие дор сих пор делают проекты "на Altere" или пишут на "языке Visual С++". И им тоже не 5 лет.

 

Но вы так и не ответили хотябы на предыдущий вопрос.

Так и не увидел принципиальных проблем в том чтобы описать модель структурно (RTL) а не поведенчески на системС. Буду очень рад если вы мне их укажите.

 

PS.Да кстати кто вам сказал что я думаю что системС должен ЗАМЕНИТЬ HDL??? И почему стать HDL ему не суждено?

 

 

Никаких обид! Все в порядке. Проекты "на Altere" и "язык Visual C++" - это, согласен, забавно. Но речь не об этом. Вы не поняли меня, или я недостаточно красноречиво объяснился. Попробую опять... :)

 

Не существует проблем описать устройство структурно на SystemC. И не было никогда. Если бы были - SystemC не состоялся бы вообще. Нет проблем, превратить C++/SystemC в HDL (а SystemVerilog или VERA-HVL - это разве не то же самое, только с противоположного конца?). И ни в коем случае не рискну утверждать, что не будет какого-то единого языка, одинаково хорошо позволяющего разрабатывать модели больших систем на разных абстрактных уровнях. Все меняется очень динамично.

 

Единственное, что хотел сказать, это то, что на сегодняшний день, при имеющихся средствах разработки/реализации ( ; ) RTL-синтез эффективнее из HDL-языков, а моделирование систем (чем объемнее и сложнее, тем лучше) эффективнее на SystemC. Вот и вся правда. Что будет через какое-то время - не скажет никто. Кстати, как SystemC/С++/Handel-C, так и HDLs в одинаковой мере, подвержены сильным видоизменениям.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А языком полноценном HDL ему не стать до тех пор пока не будет эффективного синтезатора. 

На данный момент по возможности моделирования SystemC => HDL (verilog, vhdl)

Позволю не согласиться HDL - Hardware Definition Language и ничего про возможность синтеза здесь не сказано :) То есть, я считаю если язык имеет специальные конструкции для описания аппаратуры то он является HDL.

А системС обладает какими то особыми возможностями моделирования, которые недоступны для VHDL,Verilog?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Аминь :cheers:!

Ответьте только на первый вопрос топика, плиз! :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А языком полноценном HDL ему не стать до тех пор пока не будет эффективного синтезатора. 

На данный момент по возможности моделирования SystemC => HDL (verilog, vhdl)

Позволю не согласиться HDL - Hardware Definition Language и ничего про возможность синтеза здесь не сказано :) То есть, я считаю если язык имеет специальные конструкции для описания аппаратуры то он является HDL.

А системС обладает какими то особыми возможностями моделирования, которые недоступны для VHDL,Verilog?

 

SystemC обладает одной большой и главной особенностью - он имеет гораздо более развитую концепцию типов, чем VHDL/Verilog. Ее он унаследовал от C++. Классы, шаблоны, стуктуры... Все это очень и очень полезно для транзакционного моделирования. На VHDL это сделать почти невозможно. Рандомизации данных в VHDL/Verilog нет. Reproducable randomness - это тоже головная боль в VHDL. Поэтому, верификация, системное моделирование, сложные массивы входных данных (тестовых векторов для transaction-based verification) удобнее писать на SystemC, и здесь никто не имеет ничего против.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Аминь :cheers:!

Ответьте только на первый вопрос топика, плиз! :lol:

 

Цитирую Ваш первый пост:

 

Похоже SystemC начинает понемногу теснить зубров (VHDL,Verilog)!

Может кто нибудь из гуру поработавших со всема 3-мя "языками" скажет свое веское слово? Есть у системС будущее в плане разработки синтезируемых систем или зубры не сдадутся! Я просто новичок в этой области, начал разбираться с VHDL и SystemC? Модельку микропроцессора начал планировать, а тут СистемС как черт из табакерки! Стоит с ним возиться если в перспективе модель предполагается привести к синтезируемому виду? Или лучше на старом добром VHDL?

 

Вы спросили - я отвечаю: хотите получить синтезируемую и работающую модель, чтобы сдать ее в производство как можно быстрее, - используйте "старый добрый VHDL" (IMHO, естественно).

 

That's it, Folks.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модераторы или админы

просьба перенести эту ветку в форум "вопросы системного проектирования"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот, кстати по теме! На opencores лежит проект SystemC USB1.1 IP Core: Written In SystemC и Fully Synthesisable . При необходимости the IP Core Verilog files may be generated by CoCentric SystemC Compiler.

Так что, похоже, поперло! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

квакну и я чего-нибудь в этой ветке :

 

спор между SystemC, VHDL и, например, ручной трассировкой сводится к тому,

что важнее - оптимальность полученного решения или усилия затраченные на разработку

 

то есть так как концепция "good-enough software" является рулящей в индустрии, то у SystemC большое будущее (BTW: я ради эксперимента на нем какой-то автомат описал - но супер легкости и простоты не увидел)

 

все возможности систем ко-верификации позволяет получить те же PLI и т.п. приблуды в языках HDL,

но возможность посадить за описания харда программера (пишущего на С++) кажется очень привлекательной манажементу

 

НО! даже в VHDL возникают непонятки - "я написал типа так, а синтезатор сгенерил совсем не так". в systemC их будет еще больше

 

и еще одна сторона - эффективность, то есть VHDL (я уж не говорю про ручную трассировку :) ) по времянке и количеству "вентилей" всегда будет выигрывать у SysemC (лично я знаю про неудачное использование HendelC, который сильно ближе к железке, чем SystemC)

 

то есть - по моему мнению SystemC будет развиваться, но геммороя это не уменьшит :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...