Rev 1282 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
DDR видеовыход:
1. FPGA Tco около 13нс
2. 3032 для posedge+negedge Tsu 6.3нс, не успеваем в полтакта
Варианты:
1. оставить городушку на 373+374 (373 нужны более быстрые, типа 74Ahct, 374 достаточно act)
2. Задержать клок на 3032 на примерно те же 5-6нс, как это сделать хз. 74ACT/AHCT04 ?
идея: пусть CPLD выдаёт клок на альтеру, делая задержку.
CPLD: Tsu = 6.3нс, Th = -2.2нс, Tco = 6.7нс, Tpd = 10.0нс
FPGA: Tco ~ 13ns (УТОЧНИТЬ111)
клок:
Thalf_per = 14.4нс или 18.1нс
clock analysis:
возможные полупериоды клока 28 МГц:
1. 17.8 + 17.8 ns = 35.7 ns (работа от кварца)
2. 14.4 + 18.1 ns = 32.5ns (от внешнего клока)
18.1 + 14.4 ns = 32.5ns
18.1 + 18.1 ns = 36.1ns
[14.4+14.4 НЕ БЫВАЕТ]
1. CPLD задержка клока на 10ns
2. FPGA задержка переключения на ~13ns
FCLK_FPGA=1 - low bits, FCLK_FPGA=0 - high bits
3. CPLD setup 6.3ns, hold -2.2ns (от 6.3нс до 2.2нс перед фронтом должно быть стабильно)
4. CPLD Tco = 6.7ns (далее на vdac)
CPLD видит CLK=1 данные через 10 + 13 = 23 ns после фронта 0->1, это уже собственный posedge.
=> биты [1:0] лочатся по posedge
запасы по setup:
35.7 / 32.5 / 36.1 - 10 - 13 - 6.3 = 6.4/3.2/6.8ns
запасы по hold:
(нет смысла рассматривать т.к. FPGA держит значение дольше чем 6.8+(6.3-2.2) = 10.9ns)
5. VDAC setup 0.5ns, hold 1.5ns, CPLD output negedge => мин запас (setup) 14.4-6.7+10=17.7ns
in /```\___/```\___/
ou X X
vd /```\___/```\...
se/ho ***
MCU:
1. поставить ch32v307/317