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

Схемотехнические трюки для ПЛИСоводов

Сейчас глянул — даже покойный Боб Пиз упомянул эту метастабильность в одной из своих "так что же вся эта х означает". Вообще-то, триггеры ПЛИС вполне можно избавить от метастабильности, немного переделав, но производители ПЛИС этого не делают, и даже частично не делают, хотя бы 0,1% таких ячеек.

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


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

5 hours ago, TRILLER said:

Альтера же имеет внутренние линии в некоторых семействах?

Да, похоже, это чисто Альтеровская фича. Причем, есть не во всех семействах:

ArriaALM.jpg

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


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

5 hours ago, Plain said:

Вообще-то, триггеры ПЛИС вполне можно избавить от метастабильности, немного переделав, но производители ПЛИС этого не делают, и даже частично не делают, хотя бы 0,1% таких ячеек.

И  что это за  революционное решение которое ото всех скрывают? 

 

Ну  а специальные примитивы для синхронизации как я уже говорил в FPGA встречаются, вот:
hard_snc.thumb.png.d87bb69d80de4d17041b25097b2da189.png 

Ну и результат  использования в качестве тестовой кошечки на строке 10. На  строке 9 цепочка на обычных триггерах для сравнения (все с доп. мин задержкой 0.5 ns между выходом CDC и остальной схемой)     

+----------+----------------+------------------------+-----------------------+-------------------------+----------------+------------------+---------------+--------------+
| CDC Path |    MTBF        | Data Toggle Rate(Mtrs) | Data Sample Rate(Mhz) | Total Settling Time(ns) | Sending Domain | Receiving Domain | Number Stages | CDC Net Name |
+----------+----------------+------------------------+-----------------------+-------------------------+----------------+------------------+---------------+--------------+
| 9        | 2.57 years     | 31.2                   | 699                   | 1.19                    | CLK1           | CLK2             | 2             | din_r[9]     |
| 10       | 1.26e+51 years | 31.2                   | 699                   | 1.45                    | CLK1           | CLK2             | 2             | din_r[0]     |
+----------+----------------+------------------------+-----------------------+-------------------------+----------------+------------------+---------------+--------------+
* Summary: Overall Synchronizer MTBF:2.26 months

 

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


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

9 часов назад, RobFPGA сказал:

что это за революционное решение которое ото всех скрывают?

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

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


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

20 лет прошло. И все равно - кошечка. By Mike Stein, Paradigm Works

module toggle_hard_sync
(
input  in_flag, in_clk, sys_clk,
output sys_flag
); 

reg         toggle = 1'b0;
reg [2:0] hard_sync_rg = 3'd0;

always @(posedge in_clk)
begin
if (in_flag)    toggle <= ~toggle;
end

always @(posedge sys_clk)
begin
hard_sync_rg <= {hard_sync_rg[1:0], toggle};
end

assign sys_flag = hard_sync_rg[2] ^ hard_sync_rg[1];

endmodule

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


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

4 hours ago, Plain said:

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

Вы же тоже "капиталист",  вы тоже "удавитесь"  если:  
придется этот "лишний цент" платить за более дорогой кристалл, 
да еще "10 центов"  за  более мощный источник питания и интенсивное охлаждение этого кристалла,
и еще "доллар"  за второй такой кристалл, ведь в одну FPGA теперь много не влезет
...
И все ради чего?  чтобы вы где то, когда то, может быть с экономили один такт  :biggrin:

   

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


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

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

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

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

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

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

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

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

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

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