Jump to content
    

Какой язык учить?

И встал трудный вопрос какой язык выбрать?

учите китайский - он точно лучше тем эти два которые вы собрались учить

 

 

И я об этом, если это надо, то пожалуйста, без проблем. Еще и обконстрейнить на MIN_DELAY можно. Мне даже один раз применить это пришлось, когда прототип микрухи делался, и надо было получить короткий импульс на фронте для совместимости с кремниевым решением. Другое дело, что это нежелательная практика и плохая (кстати, и в схемах из логики и проводов тоже), но ничего категорически не запрещено, если знаешь, что делаешь.

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

как это предложено на сайте xilinx - с учетом того что задержка формируется на триггере что обеспечивает необходимую длительность

 

и при этом считает что это плохо но делать можно

отдично

я немного украду - это плохо но мне можно я эталон ;-)

 

Share this post


Link to post
Share on other sites

тоесть вы всегда делаете выделение фронта в виде задержки сигнала и логики? вы же знаете что делаете

 

Нет, не всегда, в микросхеме я поставил RC-цепочку и триггер шмитта. А в прототипе на ПЛИС вот один раз пришлось. Так как импульс то 10-30 нс нужен был, а максимальная частота клока в системе 16 МГц... и PLL нету...

 

Отвлекаемся от темы...

 

я немного украду - это плохо но мне можно я эталон ;-)

Это всем можно, достаточно только изучить и понять, что там внутри этой ПЛИС происходит, а не смотреть на нее как на черный ящик. Заодно придет понимание что есть хорошо, а что плохо, и, главное, почему.

Share this post


Link to post
Share on other sites

Нет, не всегда, в микросхеме я поставил RC-цепочку и триггер шмитта. А в прототипе на ПЛИС вот один раз пришлось. Так как импульс то 10-30 нс нужен был, а максимальная частота клока в системе 16 МГц... и PLL нету...

 

Отвлекаемся от темы...

лозунг !! применяем хинты с сайта хилых - это должно быть основным стилем программирования

и вообще ассинхронные схемы они быстрее и лучше - я сам поступаю часто неправильно - но это не повод говорить что так делать можно - я ворую и стесняюсь

с темой завязал ;-)

Share this post


Link to post
Share on other sites

Раз про устройство ПЛИС зашла речь. Такой вопрос на каком типе памяти построена LE(LUT) ?

Как эта таблица после загрузки в ПЛИС прошивки хранит свое состояние? Это тригеры и если да то какие? Или это конденсаторы или EEPROM. Каким образом прошивка сохраняет своё состояние неизменной после загрузке? И вопрос на будущее вроде как есть какой-то энергосберегающий режим с временным отключением питания и сохранением состояния.

Share this post


Link to post
Share on other sites

Это обычная двухпортовая SRAM. При каждом включении она загружается извне или из массива флеш-памяти, расположенном на том же кристалле. Никаких режимов с сохранением состояния без питания там нету.

 

В некоторых ПЛИС есть возможность быстро переписать содержимое блочной памяти во флеш, и восстановить потом обратно, но это касается только блочной памяти.

Share this post


Link to post
Share on other sites

а в CPLD чего-то там прожигалось, как то смутно помниться.

 

Еще был вариант что когда ничего не происходит, то на поддержание прошивки в ПЛИС энергии почти не надо. Так предлагали делать защиту прошивки, прошивать ПЛИС извне, приделывать к ней батарейку с которой она 10 лет проработает (просохраняет свое прошитое состояние) и все, и никаких способов прошивку из плис достать.

Share this post


Link to post
Share on other sites

а в CPLD чего-то там прожигалось, как то смутно помниться.

Ну да. И в Актелях с антифузами тоже. А еще есть CPLD с флешами, соединенными напрямую с матрицей, жрут только они безумно.

Share this post


Link to post
Share on other sites

На мой взгляд лучше Verilog сначала учить, потом можно VHDL. Еще иногда AHDL попадается.

Share this post


Link to post
Share on other sites

Как по мне в ВХДЛ многа букав

 

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

 

Но всё-таки......

 

VHDL

if a<b
then
    operator1;
    operator2;
else
    operator3;
    operator4;
end if;


VERILOG

if (a<b) then
begin
    operator1;
    operator2;
end
else
begin
    operator3;
    operator4;
end

Share this post


Link to post
Share on other sites

Это ж каким гением нужно быть, шоб какой-нить

 

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

 

Ведь оно как в нашей реальности - день, неделю, а то и даже месяц, формируется структура и схема устройства, исписывается/изрисовывается и выкидывается куча бумаги, строится куча моделей и таблиц в всяких там матлабах/экселях, ну а только потом, когда в голове оно созрело полностью как единое целое, шустро и быстро, пока не забылось, описывается за очень короткое время, час, сутки, двое-трое суток (смотря сколько писать, сколько копипастить)... И тут ни одной лишней закорючки в языке быть не должно, абсолютный минимум текста.

 

UPD. Меня вот begin/end в верилоге бесят. ну чем им С-шные {} не понравились... Тем, что такой же оператор объединения сигналов? Ну и что, оно и там и тут одновременно смотрелось бы на отлично!

 

UPD2. Хотя, конечно, кому как... Людям с крепкой непробиваемой психикой, возможно, с VHDL очень даже комфортно.

Share this post


Link to post
Share on other sites

Да тут все понятно..

мне и i++ не хватает. и i+= тоже.

 

В С принималось много упрощений написания, еще до введения всяких асистансов которые сами за тебя слова подставляют.

Чем меньше в тексте слов не по делу, тем понятнее текст. Опять же хорошо когда строка целиком видна на экране, и сравните

Ochen_Dlinnoe_I_Ponyztnoe_nazavenie_Peremennoy += 2;

Ochen_Dlinnoe_I_Ponyztnoe_nazavenie_Peremennoy = Ochen_Dlinnoe_I_Ponyztnoe_nazavenie_Peremennoy + 2;

 

хотя я думаю тут конкретно конфликт = и <=

 

а если ко всему это надо еще и кучу преобразований типов добавить одного в другое, да значков объединения, вот и полетели короткие имена.

 

Вообщем уменьшение писанины - однозначно влияет на качество языка!

 

Share this post


Link to post
Share on other sites

хотя я думаю тут конкретно конфликт = и <=

 

Да никаких...

 

counter +<= 1'b1; // мечта!

 

:)

Share this post


Link to post
Share on other sites

скорее

+=

и

+<

вообщем придумать можно.

Может через define попробовать все переопределить:)?

 

а потом захочется A<= A<<2;

заменить, и вот тут точно встряли...)

 

во я понял что в ++ непонятно, непонятно это <= или =...

 

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

Share this post


Link to post
Share on other sites

Вообщем уменьшение писанины - однозначно влияет на качество языка!

 

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

 

В родном языке разберитесь сначала.. :-о :-о

 

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...