Дам несколько советов по применению CoolRuner: 1. У XPLA3 только один Universal OE - т.е. только одна линия глобального OE синхронно поступающая на любые OBUFT в любых функциональных блоках. Если необходимо иметь 2 "широких" шины с независимыми OE, то одну из этих шин желательно расположить в одном функциональном блоке. Наиболее разбросанная по различным функциональным блокам шина с третьим состоянием быдет управляться через Universal OE, остальные через локальные Control Term. 2. Прочитайте XAPP310 - Power-Up Reset Characteristics of CoolRunner XPLA3 CPLDs. 3. Прочитайте XAPP342 - XPLA3 I/O Cell Characteristics. Как это ни странно, но в этом документе более полно освещена архитектура линий управления XPLA3. Обратите внимание, что одновременно только 2 GCLK могут заходить в один функциональный блок. 4. Входные ножки Вы можете располагать практически в любом месте кристала - на входную задержку это не оказывает никакого влияния (входной сигнал сразу попадает в ZIA, ну или фиксируется в Fast Input триггере и всё-равно пападает в ZIA). 5. Особыми ножками в XPLA3 являются только GCLK, только с этих ножек CLK может попасть в линии Global Clock. Если четырёх независимых CLK нет, то можно использовать эти ноги, как обычные входы. Но неиспользуемые GCLK ножки необходимо подтянуть к питанию. 6. XPLA3 имеет в ножках ввода/вывода неотключаемай Half Latch. Эта заморочка уже обсуждалась на форуме не более года назад. 7. Если есть возможность, то наверное лучше использовать CoolRunner II - он дешевле, жрёт (греется) меньше и работает быстрее, имеет больше PT и входов в каждом функциональном блоке, не имеет HalfLatch, может работать с несколькими стандартами ввода/вывода одновременно (например LVTTL и LVCMOS25); но не имеет 5V толерантности, требует 2 разных номинала питания (1.8В для ядра и питание выходных буферов) и имеет обычные для CPLD линии управления (т.е. более убогие чем XPLA3).
|