В SDRAM есть CKE и /CS. По-сути - два разнополярных CS. Поэтому покуда все выходы одинаковые SDRAM откликаться не будет! Нужно в нужный момент включить CKE, затем отключить /CS и CKE. После чего удерживать все выходы FPGA на одном уровне.
Так?
Правда
они зачем-то предлагают 3-стейтить выходы на время переконфигурации и мужественно подавлять возникающие глюки, напоминая там же что с HSWAPEN глюков не происходит? Ну не сумасшедшие ли?
Но главное что у меня на плате HSWAPEN TRI-state'ит выводы. Связи с SDRAM, по стандарту терминирования, притягиваются в среднее между 0 и 1. А по сему хотелось бы чтобы безглючность достигалась за счёт способа реконфигурации.
Вот такая информация
The Virtex II provides glitchless configuration logic, meaning if a bit stays the same between two configurations no
glitch will occur.
или
Figure 3 shows how the physical design has been partitioned. In this design bus
macros are not used since there is no communication between the logic that makes up
the embedded Linux system and the filters that are reconfigured. However there is
communication between the main Linux system on the right hand side and the
Ethernet and SystemAce peripherals on the left hand side via an OPB bus. The DSP
filter between these two regions can be reconfigured without disturbing the
communication on the OPB bus. This is possible because Virtex 2 [Pro] devices offer
glitchless partial reconfiguration. If a configuration bit holds the same value before
and after configuration there will be no glitch on the resource that bit controls.
Resources to be careful of are SRL16s and LUT Rams because they change
dynamically and will be over written when configuration occurs. We worked around
this problem by constraining the filters to the top part of the reconfigurable region and
allowing only OPB routing (no logic) under the filter region.
Создала у меня впечатление, что можно сделать ряд реконфигураций
[1] отдельный пин просто переконфигурировать активно и безглючно - установить в константу.
[2] перегрузить новым битстримом, где он тоже - константа.
[3] какой-нибуть внутренний net, служащий reset-входом дизайна, переконфигурировать 0->1 чтобы дать сигнал сброса новой схеме.
[4] ещё одной реконфигурацией переключить выход FPGA с константы на логику нового дизайна
[5] последней реконфигурацией reset2 линии 0->1
Я так понимаю что все пункты кроме [2] не должны затрагивать ничего кроме своего сигнала чтобы не получилось так что дело сделано, а окружающая логика ещё конфигурируется. Или это уже совсем параноя?
Можно ли так и какими тулзами автоматически в IOB битстриме можно перестроить на констатну? Как быть с остальными ногами на время переконфигурации? Если она активная другие ноги тоже могут дурить. Или не могут если я их ни в каком дизайне не использую или использую как входы?