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

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

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

1 hour ago, RobFPGA said:

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

3 minutes ago, Leka said:

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

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

 

Удачи! Rob.

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


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

RobFPGA

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

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

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


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

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

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

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

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


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

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

23 minutes ago, petrov said:

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

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

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

18 minutes ago, Leka said:

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

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

 

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

 

Удачи! Rob.

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


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

RobFPGA

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

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

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


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

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

1 minute ago, petrov said:

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

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


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

 

Удачи! Rob.

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


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

54 minutes ago, RobFPGA said:

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

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

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

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

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

Изменено пользователем one_eight_seven

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


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

RobFPGA

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

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

 

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


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

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

32 minutes ago, petrov said:

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

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

 

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

   

Удачи!  Rob.

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


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

RobFPGA

 

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

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

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

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

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


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

 

Quote

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

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

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


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

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

22 minutes ago, des00 said:

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

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

Удачи! Rob.

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


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

27 minutes ago, RobFPGA said:

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

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

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


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

des00

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

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

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


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

 

1 minute ago, petrov said:

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

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

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


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

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

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

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

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

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

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

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

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

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