|
|
|
FAQ по языкам описания аппаратуры |
|
|
|
Apr 26 2009, 09:03
|
Профессионал
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079
|
Цитата(CaPpuCcino @ Apr 18 2009, 23:25) хочу поделится одной штукой в Верилоге, которая меня сейчас сильно ухмыльнула (потратил на неё часа 2, отлавливая баг в программе). как вы думаете чему равно выражение: address=(y_coordinate*(picture_width>>2+1)+x_coordinate)*2; при y_coordinate=2, picture_width=16, x_coordinate=3 ? ЗЫ: ответ для самостоятельной проверки - корень квадратный из 196 и главное, что везде использовал оператор сдвига подобающим образом, а тут при числовых коэфициентах никак не мог заметить ошибки, вот что значит экономить на скобках Да, приоритеты иногда играют злую шутку.
--------------------
|
|
|
|
|
Nov 3 2010, 07:20
|
Знающий
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847
|
Цитата(des333 @ Apr 26 2009, 12:03) Да, приоритеты иногда играют злую шутку. Хочу задать вопрос метрам FPGA более широкого плана ....о приоритетах. Может даже философского плана... Дело в том, что лет 15 назад Borland психанул и выпустил интересный продукт TurboProlog. Тогда это было необычно и модно, но послевкусие осталось. Принципы искусственного интеллекта я прочувствовал после 4 месяцев усиленного программирования на нём. Всё совершенно по другому, нежели в процедурных языках. 1. Ты описываешь среду поиска (правила в пространстве поиска решения). 2. Формулирушь цель, которуая тебе нужна. Дальше машина сама находит решения. Остаётся только выбирать подходящее. Мы действуем традиционно. Описываем подробно как решать тот или иной фрагмент поэтапно. Шаг за шагом ...по алгоритму. Неужели до сих пор не нашлось энтузиаста, который бы 1.описал макроячейку ПЛИС, связи с соседями и временные соотношения(описал среду) 2. на простых задачах показал бы к какому поведению приводит то или иное соединение (обучил систему) 3. попытался формально сформулировать цель поиска решения с приемлимыми условиями на выходе ???? Мне кажется это вполне естественным. Я догадываюсь, что такое в синтезаторе уже есть, но тогда должен быть и язык который бы позволял напрямую описывать результат поиска решения, а не пошаговое описание решения задачи человеком... Есть такое? Как его величают? Скорее всего такое может быть у братьев Белорусов...
|
|
|
|
|
Nov 4 2010, 04:56
|
тоже уже Гуру
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973
|
Цитата(Shtirlits @ Nov 4 2010, 00:58) Можно ли где-то в меру подробно почитать про 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 Цитата(Shtirlits @ Nov 4 2010, 00:58) как выглядит интеркативность? интерактивность выглядит в основном как выбор вариантов исполнения выч.блоков, в т.ч. таймингов(латентности) вычислительных блоков. например выбор длинны конвейера выч.блока(если он конечно конвеерный). ЗЫ: сразу прошу не устраивать флуда о том, что это конец эры HDL разработчиков (и даже не начало конца), потому что это не так. а чтобы понять почему - посмотрите вторую книжку и всё поймёте.
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Nov 4 2010, 06:52
|
Знающий
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847
|
Цитата(CaPpuCcino @ Nov 3 2010, 23:55) в том-то и дело, что теорем-пруверы работают в плотном взаимодействии с оператором теперь представьте на сколько эффективным будет в таком случает сколько-нибудь сложной системы. вообще аналог есть - это ESL синтез. он тоже интерактивный. А как-же!? Только с течением времени тулз обучается на базе опыта оператора... Тут другая проблема,- описание цели! Чтобы лаконично и понятно, что и когда(во времени) надо получить... Это нельзя сделать не усвоив описание среды поиска. И может даже редактировать это описание по ходу! Спасибо за информацию! Обязательно погружусь..А белорусов я упомянул потому, что они упрямо продолжают развивать свои БМК.
Сообщение отредактировал Мур - Nov 4 2010, 06:59
|
|
|
|
|
Nov 4 2010, 07:09
|
тоже уже Гуру
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973
|
Цитата(Мур @ Nov 4 2010, 09:52) Тут другая проблема,- описание цели! там много прикладных проблем - и формулировка аксиом (т.е. то что вы относите к описанию среды) и формулировка теорем (то что "цель") ((NB:я не очень уверен в русскоязычной терминологии)). в общем проблема в формализации и недостаточности мощи ИИ на данный момент, чтобы делать это автоматически. я просто не хочу вдаваться в подробности, т.к. прикладного интереса для меня эта тема не представляет, а по3.14деть за жизнь - тема флудливая и с 0 на выходе. Цитата(Мур @ Nov 4 2010, 09:52) белорусов я упомянул потому, что они упрямо продолжают развивать свои БМК. а белорусы молодцы! желаю им всяческого успеха в развитии собственной технологичной промышленности.
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Jan 18 2012, 11:59
|
Участник
Группа: Участник
Сообщений: 15
Регистрация: 17-11-11
Пользователь №: 68 363
|
Друзья и коллеги, подскажите, что за конструкция на Verilog?
Качнул модель памяти с cypress. Название модели CY7C1470V33-1XW-Verilog. Внутри есть конструкции такого плана: tsti[8] = tsti[7] ^^ tsti[6] ^^ tsti[5] ^^ tsti[4] ^^ tsti[3] ^^ tsti[2] ^^ tsti[1] ^^ tsti[0]; Операция ^ - понятно, а что означает "^^" в данном случае?
|
|
|
|
|
Jan 18 2012, 12:50
|
Участник
Группа: Участник
Сообщений: 15
Регистрация: 17-11-11
Пользователь №: 68 363
|
в заголовке модуля тип переменной указан "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]; Однако вопрос остается открытм, не понимаю
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|