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

FAQ по языкам описания аппаратуры

А железячник наверно бы picture_width>>2 как picture_width[x:2] оформил. И на разрядности бы съэкономил.

(Чтоб без предупреждений)

:beer: а программер наверное как "picture_width/4" (но думаю это единообразно, потому как синтезатор такую ерунду должен оптимизировать)

ЗЫ: я как-то для рабочей задачки к проекту по преобразованию бит-мапа написал на Си в цикле такую фразу for (j=0;j<num_dwords;j++){... if ((j&3)==3) fprintf(pic_mem, "\n");} так наш программист долго смотрел на это и так и не понял, при каких значениях переводится каретка :lol:

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


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

хочу поделится одной штукой в Верилоге, которая меня сейчас сильно ухмыльнула (потратил на неё часа 2, отлавливая баг в программе).

как вы думаете чему равно выражение:

 

address=(y_coordinate*(picture_width>>2+1)+x_coordinate)*2;

 

при y_coordinate=2, picture_width=16, x_coordinate=3 ?

 

ЗЫ: ответ для самостоятельной проверки - корень квадратный из 196

и главное, что везде использовал оператор сдвига подобающим образом, а тут при числовых коэфициентах никак не мог заметить ошибки, вот что значит экономить на скобках :)

Да, приоритеты иногда играют злую шутку.  :)

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


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

Да, приоритеты иногда играют злую шутку.  :)

Хочу задать вопрос метрам FPGA более широкого плана ....о приоритетах. Может даже философского плана...

Дело в том, что лет 15 назад Borland психанул и выпустил интересный продукт TurboProlog. Тогда это было необычно и модно, но послевкусие осталось. Принципы искусственного интеллекта я прочувствовал после 4 месяцев усиленного программирования на нём.

Всё совершенно по другому, нежели в процедурных языках.

1. Ты описываешь среду поиска (правила в пространстве поиска решения).

2. Формулирушь цель, которуая тебе нужна.

Дальше машина сама находит решения. Остаётся только выбирать подходящее. :biggrin:

 

Мы действуем традиционно. Описываем подробно как решать тот или иной фрагмент поэтапно. Шаг за шагом ...по алгоритму.

 

Неужели до сих пор не нашлось энтузиаста, который бы

1.описал макроячейку ПЛИС, связи с соседями и временные соотношения(описал среду)

2. на простых задачах показал бы к какому поведению приводит то или иное соединение (обучил систему)

3. попытался формально сформулировать цель поиска решения с приемлимыми условиями на выходе ????

 

Мне кажется это вполне естественным.

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

 

Есть такое? Как его величают? Скорее всего такое может быть у братьев Белорусов...

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


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

Дальше машина сама находит решения. Остаётся только выбирать подходящее. :biggrin:

в том-то и дело, что теорем-пруверы работают в плотном взаимодействии с оператором теперь представьте на сколько эффективным будет в таком случает сколько-нибудь сложной системы. вообще аналог есть - это ESL синтез. он тоже интерактивный.

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


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

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

 

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


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

Можно ли где-то в меру подробно почитать про ESL-синтез

Brian Bailey + ещё двое "ESL Design and Verification: A Prescription for Electronic System Level Methodology"(2007) - это общая концепция сквозного ESL дизайна. будет полезна не только тем кто планирует поиграться с ESL синтезом, но и тем кто интересуется стройной картиной сквозного логического дизайна "сверху-вниз". кроме прочего описан принцип ESL синтеза(2,5главы), но без технических особенностей. так что кому прочие аспекты не интересны могут сразу читать соотв.главы для общего предст. о синтезе. вообще книга полезная вся - state-of-the-art дизайна.

High-Level Synthesis From Algorithm to Digital Circuit под ред. Philippe Coussy + 1 (2008) - вот эта книжка конкретная по конкретным технологиям и тулзам. по сути сборник статей. в том числе есть главы о Catapult, Forte’s Cynthesizer, Bluespec.

и есть ещё одна продолжение первой (тех же авторов),но я её ещё не читал, поэтому без конкретных рекомменд.

ESL Models and their Application: Electronic System Level Design and Verification in Practice (конец 2009)- это в общем-то case study

как выглядит интеркативность?

интерактивность выглядит в основном как выбор вариантов исполнения выч.блоков, в т.ч. таймингов(латентности) вычислительных блоков. например выбор длинны конвейера выч.блока(если он конечно конвеерный).

ЗЫ: сразу прошу не устраивать флуда о том, что это конец эры HDL разработчиков (и даже не начало конца), потому что это не так. а чтобы понять почему - посмотрите вторую книжку и всё поймёте.

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


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

в том-то и дело, что теорем-пруверы работают в плотном взаимодействии с оператором теперь представьте на сколько эффективным будет в таком случает сколько-нибудь сложной системы. вообще аналог есть - это ESL синтез. он тоже интерактивный.

А как-же!? Только с течением времени тулз обучается на базе опыта оператора...

Тут другая проблема,- описание цели! Чтобы лаконично и понятно, что и когда(во времени) надо получить... Это нельзя сделать не усвоив описание среды поиска. И может даже редактировать это описание по ходу!

 

Спасибо за информацию! Обязательно погружусь..А белорусов я упомянул потому, что они упрямо продолжают развивать свои БМК.

Изменено пользователем Мур

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


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

Тут другая проблема,- описание цели!

там много прикладных проблем - и формулировка аксиом (т.е. то что вы относите к описанию среды) и формулировка теорем (то что "цель") ((NB:я не очень уверен в русскоязычной терминологии)). в общем проблема в формализации и недостаточности мощи ИИ на данный момент, чтобы делать это автоматически. я просто не хочу вдаваться в подробности, т.к. прикладного интереса для меня эта тема не представляет, а по3.14деть за жизнь - тема флудливая и с 0 на выходе.

белорусов я упомянул потому, что они упрямо продолжают развивать свои БМК.

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

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


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

А белорусов я упомянул потому, что они упрямо продолжают развивать свои БМК.

 

А ссылку на сайт можете указать?

 

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


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

А ссылку на сайт можете указать?

Я точно не знаю как они с ИИ..

http://www.uiip.bas-net.by/rus/l_ld_project__1.html

http://belisa.org.by/other/catalog12/proje...l?projectSN=162

Тут и Зеленоград не отстаёт...

http://www.ru.all-biz.info/g314433/

http://mri-progress.ru/?cat=5

Тут скопом

http://www.silab.su/index.php/ru/forum/topic?id=1

 

Это потециальные инициаторы работ по системам проектирования. Только что на самом деле?

 

Можно было бы и самим, если бы знать форматы бит заливки на соответствие конфигурациям макроячеек,шинам и портам В\В. Ошибка в этом недопустима.

Разработчики БМК этим распологают...

Изменено пользователем Мур

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


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

Только что на самом деле?

 

Вот и я не знаю.

Основная проблема, на мой взгляд, полное отсутствие ответственности за то что пишут в буклетах и каталогах.

 

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


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

Основная проблема, на мой взгляд, полное отсутствие ответственности за то что пишут в буклетах и каталогах.

эта проблема маркетингом зовётся(хотя с учётом местного колорита иногда очковтирательством высокому начальству) ;)

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


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

Друзья и коллеги, подскажите, что за конструкция на Verilog?

 

Качнул модель памяти с cypress. Название модели CY7C1470V33-1XW-Verilog.

Внутри есть конструкции такого плана:

tsti[8] = tsti[7] ^^ tsti[6] ^^ tsti[5] ^^ tsti[4] ^^ tsti[3] ^^ tsti[2] ^^ tsti[1] ^^ tsti[0];

Операция ^ - понятно, а что означает "^^" в данном случае?

 

 

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


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

Друзья и коллеги, подскажите, что за конструкция на Verilog?

 

Качнул модель памяти с cypress. Название модели CY7C1470V33-1XW-Verilog.

Внутри есть конструкции такого плана:

tsti[8] = tsti[7] ^^ tsti[6] ^^ tsti[5] ^^ tsti[4] ^^ tsti[3] ^^ tsti[2] ^^ tsti[1] ^^ tsti[0];

Операция ^ - понятно, а что означает "^^" в данном случае?

первый бинарный, второй унарный. если tsti[x] это биты, то не понятно зачем это сделано, если вектора, то какая то обобщенная четность %)

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


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

в заголовке модуля тип переменной указан

"reg [35:0] tsti;"

 

В описании на ZBT память нашел описание про так называемые биты паритета. Шина данных разрядности 36, из них 4 бита - те самые биты паритета (DQPx). Что они из себя представляют мне из описания не ясно "Functionally, these signals are identical to DQx".

Очевидно автор модели на cypress таким хитрым образом формирует те самые биты.

 

tsti[35] = tsti[34] ^^ tsti[33] ^^ tsti[32] ^^ tsti[31] ^^ tsti[30] ^^ tsti[29] ^^ tsti[28] ^^ tsti[27];

tsti[26] = tsti[25] ^^ tsti[24] ^^ tsti[23] ^^ tsti[22] ^^ tsti[21] ^^ tsti[20] ^^ tsti[19] ^^ tsti[18];

tsti[17] = tsti[16] ^^ tsti[15] ^^ tsti[14] ^^ tsti[13] ^^ tsti[11] ^^ tsti[11] ^^ tsti[10] ^^ tsti[9];

tsti[8] = tsti[7] ^^ tsti[6] ^^ tsti[5] ^^ tsti[4] ^^ tsti[3] ^^ tsti[2] ^^ tsti[1] ^^ tsti[0];

 

Однако вопрос остается открытм, не понимаю :(

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


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

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

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

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

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

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

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

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

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

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