[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
задача такая - разрабатывается устройство имеющее внутреннюю тактовую частоту меньше чем такт шины, к которой это устройство подвешено
(тактируются независимыми генераторами)
процедура обращения состоит из записи в регистры (кажется что достаточно найти решение для одного регистра) устройства данных, затем должны быть сформированны сигналы обновления для загрузки этих данных во внутренние регистры (тактируемые низкой частотой) : длительностью в такт, может быть повторен или продлен, если в интерфейсном регистре данные изменились (по шине прошла еще одна запись)
проблема в том что схемки, которые применялись раньше не гарантируют что будет записано последние значение (ну тоесть из-за некоторой кривизны программ, которые не охота переписывать, к одному регистру может быть несколько обращений подряд)
требовать от программистов паузы между записями нельзя
можно сделать специальный регистр, в который записывается команда обновления, но это как-то неудобно
я придумал несколько схемок генерации этого сигнала, но на мой взгляд слишком громоздко
может есть готовые решения (я подозреваю что это просто, но видимо я от праздников никак не приду в себя)?
нужно получить синхронизатор устойчивый к метастабильным состояниям, анализируемый посредством статического временного анализа и гарантирующий запись последнего значения записанного в интерфейсный регистр
E-mail: info@telesys.ru