Jump to content
    

Перенос кода с языка C

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

1 hour ago, RobFPGA said:

Да  и даже сейчас например  одновременное присвоение двух значение в одну переменную которая синтезируется как dual-port  память  вас не смущает? 

3 minutes ago, Leka said:

Нет, тк это физические копии одного значения, а не разные значения.
В конвейере, например, надо хранить разные значения одной переменной.

:scratch_one-s_head:  У  нас  с вами судя  по всему разные  понятия  "одинаковости" и "переменности" :unknw:

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

RobFPGA

Да  и даже сейчас например  одновременное присвоение двух значение в одну переменную которая синтезируется как dual-port  память  вас не смущает?

Всё равно эту память надо шаблоном писать как рекомендуется, т. е. её можно просто заменить соответствующим объектом "память" с портами, без всяких записей в переменную, нет в FPGA никаких переменных, наплодили лишних сущностей, лишнюю прослойку, отнимающую впустую ресурс мозга на объекты, которых не существует, и без которых можно обойтись, сделать сразу всё интуитивно понятным.

Share this post


Link to post
Share on other sites

Почему синтез/компиляция дизайнов/программ осуществляется на процессорах, а не на ПЛИС?

Ответ простой - уровни HDL синтеза и языков программирования соотносятся так-же, как словарный запас коровы и Пушкина.

Отсюда и вопрос - чего не хватает HDL, чтобы дорасти до Пушкина. Явно не средств верификации.

Share this post


Link to post
Share on other sites

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

23 minutes ago, petrov said:

Всё равно эту память надо шаблоном писать как рекомендуется, т. е. её можно просто заменить соответствующим объектом "память" с портами, без всяких записей в переменную, нет в

Опять в сторону  :sad:

Можно и объектом, а можно и чисто конструкциями  языка которые присваивают  два (2) значения в одну (1) переменную. Поэтому мне и непонятны такие "непринципиальные принципы".

18 minutes ago, Leka said:

Ответ простой - уровни HDL синтеза и языков программирования соотносятся так-же, как словарный запас коровы и Пушкина.

Вы же за молочком не к Пушкину ходите?  А почему? Наверное потому что Пушкин тоже в чем то проигрывает корове, он молока не дает. 

 

А на HDL, при большом желании,   можно  разработать  аппаратный аналог  того же  yosys например.   Принципиальных ограничений на это нет. (в отличии от попыток получит "молочко" от Пушкина    :wink2:

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

RobFPGA

Можно и объектом, а можно и чисто конструкциями  языка которые присваивают  два (2) значения в одну (1) переменную. Поэтому мне и непонятны такие "непринципиальные принципы".

Нам зачем эти конструкции, ради конструкций? Это же чистая бутафория, ведущая к неправильному пониманию, небольшие изменения такой конструкции будут правильно симулироваться, но будут приводить к ошибке в описании реального железа, или ещё хуже к синтезу монстроидальной логики. Это очень плохие свойства языка, совершенно ненужные и вредные.

Share this post


Link to post
Share on other sites

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

1 minute ago, petrov said:

Нам зачем эти конструкции, ради конструкций? Это же чистая бутафория, ведущая к неправильному пониманию, небольшие изменения такой конструкции будут правильно симулироваться, но будут приводить к ошибке в описании реального железа, или ещё хуже к синтезу монстроидальной логики. Это очень плохие свойства языка, совершенно ненужные и вредные.

Странный спич, хотите потролить?   "Казнить нельзя помиловать!"  Маленькое изменения конструкции может привести к  ужасным последствиям (в обоих вариантах).  


Правильные конструкции языка в правильном применении дают правильный и предсказуемый результат. Неправильные  дают соответственно ошибочный результат. 
Причем  опять же чаще всего это не проблема языка V/SV,  а большей степени проблема кривых ручек (и голов) разработчиков и в меньшей - реализации конкретного синтезатора. Чаще всего разработчик хочет  чтобы  синтезатор сам угадывал куда ставить "запятую".    

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

54 minutes ago, RobFPGA said:

Неправильные  дают соответственно ошибочный результат.

Хочу уточнить. Ошибочный, но абсолютно предсказуемый результат. (Это я не спорю, а дополняю, если что, так сказать,- выкрик с места)

Есть известные и широко пропагандируемые методы написания кода, когда симуляция и синтез дадут одинаковый результат.

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

Более того, ограничения, требуемые для синтезируемости конструкций достаточно просты и, в основном, требуют понимания и соблюдения  законов физики, а не каких-то сакральных знаний.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites

RobFPGA

Причем  опять же чаще всего это не проблема языка V/SV

Это проблемы языка, неочевидные абстрактные конструкции не соответствующие происходящему в железе, плохо читаемый синтаксис, возможность написать одно и то же кучей разных способов и т. п., 99,99% кода плохо написано, язык быстро приводит к потере обозримости, провоцирует на лепилово, отнимает впустую много ресурсов от решаемой задачи. Причём сейчас есть возможность получить довольно сложные цифровые схемы вобще не притрагиваясь к HDL и HDL симуляции, вот и думай после этого, а в чём же смысл блокирующего присваивания, а ни в чём, мусорные знания, которые следовало убить на этапе создания.

 

Share this post


Link to post
Share on other sites

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

32 minutes ago, petrov said:

Это проблемы языка, неочевидные абстрактные конструкции не соответствующие происходящему в железе, плохо читаемый синтаксис, возможность написать одно и то же кучей разных способов и т. п., 99,99% кода плохо написано, язык быстро приводит к потере обозримости, провоцирует на лепилово, отнимает впустую много ресурсов от решаемой задачи. Причём сейчас есть возможность получить довольно сложные цифровые схемы вобще не притрагиваясь к HDL и HDL симуляции, вот и думай после этого, а в чём же смысл блокирующего присваивания, а ни в чём, мусорные знания, которые следовало убить на этапе создания.

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

 

Можете  привести пример такого чуда - языка который сразу, из высоких абстракций синтезирует железо?  И без предварительно перегона  в "богомерзкий" V/SV/VHDL ?

   

Удачи!  Rob.

Share this post


Link to post
Share on other sites

RobFPGA

 

Можете  привести пример такого чуда - языка который сразу, из высоких абстракций синтезирует железо?

Дело не в высоких абстракциях, они на самом деле те же самые, просто упор на решение самой практической задачи, а не копошение в блокирующих присваиваниях, громоздких HDL симуляторах и т. п.

И без предварительно перегона  в "богомерзкий" V/SV/VHDL ?

Разумеется с перегоном, в синтезаторы иначе не передашь.

Share this post


Link to post
Share on other sites

 

Quote

Дело не в высоких абстракциях, они на самом деле те же самые, просто упор на решение самой практической задачи, а не копошение в блокирующих присваиваниях, громоздких HDL симуляторах и т. п.

Сколько людей столько и мнений. Ну не нравится вам RTL кодирование, не занимайтесь им. Делайте то что вам нравится - работайте в матлабе/симулинке. А дальше вы руководитель группы - ведущий идеолог(или по современному тимлидер), вам в подчинении RTL щик(и), которому это нравиться, верификаторщик(и), который считает ваш матлаб тяжелой песочницей для игры в кубики, можно еще расширить команду. Прорабатываете идею, ставите задачу, команда ее решает. Все в плюсе и без негатива по поводу богомерзких языков, кубиков, стрелочек, дельта-циклов и индексации массивов с единицы:biggrin::biggrin:

Share this post


Link to post
Share on other sites

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

22 minutes ago, des00 said:

Сколько людей столько и мнений. Ну не нравится вам RTL кодирование, не занимайтесь им. Делайте то что вам нравится - работайте в матлабе/симулинке. А дальше вы руководитель группы - ведущий идеолог(или по современному тимлидер), вам в подчинении RTL щик(и), которому это нравиться, верификаторщик(и), который считает ваш матлаб тяжелой песочницей для игры в кубики, можно еще расширить команду. Прорабатываете идею, ставите задачу, команда ее решает. Все в плюсе и без негатива по поводу богомерзких языков, кубиков, стрелочек, дельта-циклов и индексации массивов с единицы:biggrin::biggrin:

Тю!   Им же всем платить надо будет  :english_en:   А так  бесплатный чудо язык  который сам все за тебя делает  :biggrin:

Удачи! Rob.

Share this post


Link to post
Share on other sites

27 minutes ago, RobFPGA said:

Тю!   Им же всем платить надо будет  :english_en:   А так  бесплатный чудо язык  который сам все за тебя делает  :biggrin:

ну или подписку на хдл кодер за 20-30к$ и поддержку от мафворкс и все будет в ажуре) Хотя, по современным, российским расценкам, это дороже найма професионального RTLщика на год)

Share this post


Link to post
Share on other sites

des00

Ну не нравится вам RTL кодирование, не занимайтесь им.

Очень даже нравится. Вот в HDL и HDL симуляторах не понимаю что может нравиться. Платность чего-либо не отменяет того, что все эти блокирующие присваивания и т. п. - мура мурой на ровном месте. Если надо, будем и Icarus Verilog с Yosys использовать, куда деваться.

Share this post


Link to post
Share on other sites

 

1 minute ago, petrov said:

Очень даже нравится. Вот в HDL и HDL симуляторах не понимаю что может нравится. Платность чего-либо не отменяет того, что все эти блокирующие присваивания и т. п. - мура мурой на ровном месте. Если надо, будем и Icarus Verilog с Yosys использовать, куда деваться.

Раз нравиться изучите инструмент. Один раз прочитать стандарт и вопросов не будет. Не потребуются куча статьей и форумных войн. В стандарте четкно объясняется зачем было введено такое многообразие и с какими целями. 20 лет назад, прочитал, с тех пор никаких проблем с разными типами присваиваний, мешаю в коде как удобно, никакого разночтения, все и всегда однозначно и работает как написано. ЧЯДНТ?

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.

×
×
  • Create New...