Solució al retard del senyal en codi VHDL

K

koce

Guest
Hola a tots, jo faig servir Altera CPLD MAXII per al meu projecte. Jo el programa amb programari Quartus II i el llenguatge VHDL. Amb CPLD puc controlar el detector amb un senyal de rellotge mundial. Per a un canvi, vull al seu torn no en el flanc de pujada del rellotge mundial, sinó per retardar l'encesa (10ns, per exemple). En el meu codi VHDL d'utilitzar el tipus genèric de les dades. genèric (Tdelay: Temps: = 10 ns); Jo ús aquesta constant quan vull retardar la meva senyal: quan (clock'event i el rellotge = '1 ') s1 = '1' després de Tdelay; la verificació de sintaxi VHDL està bé, però tinc un problema quan vull fer la compilació final. L'error és com el temps no coincideix amb el tipus de cadena literal [color = red] [/color] jo el que és perquè ús el tipus genèric de les dades. Si algú sap l'altre costat del senyal de delayin utilitzant codi VHDL si us plau compartir amb mi. Vostè em ajudarà molt! : D Gràcies Bojan
 
Hola, vostè ha d'utilitzar els paquets en els quals es defineixen els valors per defecte.
 
això és molt estrany que hauria de funcionar bé el temps ja és un tipus de dades escalar en la norma VHDL no hauria de donar cap problema si s'utilitza de forma genèrica tractar de fer un tipus físic nova pel temps! cura també per a les distàncies en el codi, que podria ser el problema (però vostè va dir que estava bé la sintaxi)
 
Hola a tots, Això va succeir amb mi quan em simular amb ModelSim. Això es pot resoldre mitjançant la definició de totes les constants (fonctions. ...) en un arxiu de paquet que s'invoqui a l'arxiu de disseny mitjançant l'ús de comandaments. També ha d'incloure aquest arxiu en el projecte. En compilar aquest paquet ha de ser compilat primer.
 
ja que aquest codi no syntizable. No hi ha manera de programari pot calcular de retardar la senyal, a més de 10 ns, és una mica Litle llarg, així que vostè ha de buscar i ajustar el disseny del seu
 
un petit comentari, no s'ha d'utilitzar com el retard pel fet que "s1 = '1 'després de Tdelay" acaba d'utilitzar per a la simulació (modelSim. ..). quan s'escriu així, no es pot sintetitzar en maquinari. Una forma de superar això: pot passar que el senyal a través d'algun registre, ja que cada registre té un retard, i es pot calcular d'acord amb que la sort bona especificació del disseny
 
Moltes gràcies a tots vostès pels seus esforços perquè m'ajudi. Tots vostès són tan amable! Vaig a tractar d'endarrerir el senyal en forma de maquinari usin els registres de desplaçament! : O) Bojan
 
Jo no estic segur d'això, però pot retardar el senyal, però afegint el # retardar el dret? només ha d'utilitzar la comanda com aquest si (clock'evan i el rellotge = 1) llavors S1 = # 10 '1 '; / / assignar les dades després de les 10 unitats de temps, depenen de l'escala de temps ur # 10 S1 = '1'; / / obtenir thedata després de 10 vegades la unitat
 
Hola! Aquest és el meu primer post en aquest fòrum: P En un CPLD té almenys dues maneres de retardar un senyal d'entrada, depenent de quant temps necessita per que el retard. El primer enfocament que vostè pot considerar és l'ús cèl · lules de la lògica, per un retard de 10 ns 2 o 3 LCELLs són suficients (d'un CPLD d'Altera EPM7xxx). Tingueu en compte que això implica l'ús de la porta d'entrada directa, sense rellotge! Només has d'anar a nivell d'esquema i afegir el LCELLs. El segon enfocament pot ser un FIFO. La longitud FIFO (nombre de bits) dependrà de la demora que desitgi i el rellotge que està utilitzant. Per exemple, si vostè tenia un rellotge de 100 MHz i volia un retard de 100 ns que necessitaria 10 bits. Tingueu en compte aquí que no comptin amb els recursos suficients en el CPLD per grans retards ... Salutacions!
 
en Verilog o pot assignar retards donant signe "#" i després que o té 2 especificar la unitat de temps
 
perdó per la meva Verilog ... No obstant això, a '#' jo sàpiga no s'entén la síntesi enemic i koce vol sintetitzar la code.better s'agrega el retard de les cèl · lules de la lògica o registre de desplaçament. es refereix a
 

Welcome to EDABoard.com

Sponsor

Back
Top