Tengo un diseño Serial-ATA Controller que funciona en casi cualquier tipo de dispositivos de la serie 7 de Xilinx, excepto el dispositivo Artix-7, que me duele la cabeza ...
El diseño puro (SATA 6.0Gb / s, reloj de diseño de 150 MHz) se puede implementar en mi Artix-7 200T. Si agrego núcleos ILA (anteriormente conocido como ChipScope), no se cumple el tiempo.
¿Qué hice para relajar la situación? - Se agregaron 2 etapas de tubería en cada núcleo de ILA. - Se agregó 1 etapa de canalización entre el transceptor GTP y la lógica. - se usó el retiming, la reasignación y la colocación amplia como estrategia de implementación alternativa
Estas imágenes muestran el flujo de diseño normal. Los núcleos ILA están lejos del controlador SATAC (SATAC) y la CPU de 8 bits ( SoFPGA ), pero el controlador aún tiene rutas con errores (esa es la única región con rutas con errores).
ParecequeelArtix-7estáfueradelosrecursosdeenrutamientoenalgunasáreas.¿Cómopuedoobteneruninformequeindiqueesasospecha?
Tambiénintentévolveraprogramar,reasignaryestrategiasdecolocaciónmásamplias.Elresultadoeseste:
Elerrordesincronizaciónescasielmismo...
P.S.Eldiseñoutilizasolo178de>300BlockRAMs.UséXilinxISEparausarcasitodaslasBlockRAMenotrosdiseños,peronuncaencontrétalcomportamiento.
Editar:
Aquíhayunmapadecalordetodoslosvaloresdeholguranegativosporsegmento(coloreadoenrojo)