Verilog Encara que bucle, és el loop synthesis?

per suposat que si són ells o escriure en una forma en què ha de ser
és una idea simple
no inclouen el retard en el bucle ja que els retards no es synthesis

 
For (i = 0, i <10, i )
Crec que funciona .....
mentre que aquest ......
For (i = 0, i <k, i )
on k és una variable de canvis durant la simulació ......... .....
No penso que serà synthesis ........

Comentaris, per favor .....

 
ankit12345 va escriure:

For (i = 0, i <10, i )

Crec que funciona .....

mentre que aquest ......

For (i = 0, i <k, i )

on k és una variable de canvis durant la simulació ......... .....

No penso que serà synthesis ........Comentaris, per favor .....
 
Sí!
Per bucle synthesize només si és "k" és constant variable ..
nombre ha de ser limitat a 32 bits de valor!o v
s'ha de definir de longitud variable de 32 bits o 64 bits, mentre que declarar ...

 
per al bucle i bucle while depenen del tipus de disseny ur libaraires utilitzant per doblec
Em refereixo a FPGA

 
És synthesize però sempre és aconsellable per als bucles que no són per ser utilitzats en la codificació de RTL.Això és degut a que consumeix gran quantitat de recursos (com la zona etc.etc).U Tanmateix pot utilitzar en la codificació del comportament becuse no sintetitzar codis de conducta.

 
En Verilog, per synthesize de bucle i bucle while depèn que les eines que vostè està utilitzant.

Però és millor no usar-lo en RTL perquè reflecteix rèplica de maquinari.

 
l'ús de bucles (i quan) consumeix gran quantitat de hardware i aleshores es planteja en general la freqüència de pèrdua.per tant, és aconsellable evitar els bucles de codificació a RTL.i l'eina de síntesi també exerceix un paper mojor.

 
per Verilog HDL, com el seu nom ho diu, és un llenguatge per descriure un circuit.per la qual cosa no pot dependre de l'eina per a generar la síntesi del seu circuit abans de dissenyar el circuit itself.
tals com el codi
For (i = 0, i <k, i )

¿Has vist tal circuit?si no ho han fet, com pot vostè demanar a un mathine per generar un circuit per a tu?

 
en realitat és per bucle synthesize perquè estem mentionong la constat que és el final del bucle (1 = 0; i <= 10; i )

però en cas que el temps és dinàmic, per exemple: mentre (i <k)
que no sap el valor de k
si o oferir constant és sintetitzada.ankit12345 va escriure:

r no ??????
 
anilkumarv va escriure:

És synthesize però sempre és aconsellable per als bucles que no són per ser utilitzats en la codificació de RTL.
Això és degut a que consumeix gran quantitat de recursos (com la zona etc.etc).
U Tanmateix pot utilitzar en la codificació del comportament becuse no sintetitzar codis de conducta.
 
És evident que un ha de tenir cura per fer bucles synthesize (bàsicament, assegureu-vos que la terminació de circuit es troba en alguns constant).
Voldria aprofitar qüestió que "no ha d'usar" ...aparentment a causa que "consumeixen excessiu espai".Ells tenen el seu lloc a la simplificació de codificació.Un exemple seria la realització de detecció de vores en una matriu de valors, per exemple:

sencer i;

sempre @ (posedge CLK)
començar
for (i = 0, i <NUMBER_OF_PORTS, i = i 1)
començar
port_was <= port_is ;
if (port_was == 1'b0 & & port_now == 1'b1)
port_edge_hi_detected <= 1'b1;
una mica més
port_edge_hi_detected <= 1'b0
final
final

Tingueu en compte que sempre la @ no pot estar dins del bucle for.
Aquest és un estil de codificació.Que consumeix res més lògic que si jo havia tallat i enganxat les còpies de les clàusules ...I ...que permet la constant de ser un paràmetre,
per la qual cosa el codi pot expandir /
contreure per a determinats usos.NUMBER_OF_PORTS ha de resoldre a una constant en temps de compilació.

Aquests dies, qualsevol eina de síntesi val res ha de gestionar aquest tipus d'ús sense problemes.

 
La cosa es simple o que si són capaços de pensar llavors l'aplicació de síntesi del motor també pot pensar

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Somriure" border="0" />
 
Tinc una pregunta semblant sobre els bucles.
Diguem que escric:
Codi:

començar

for (i = 0; i <7; i = i 1)

començar

mem [i 1] = membres ;

final

membres [7] = 0;

final
 
Això és synthesis, però no és útil quan
s'utilitza el codi de bloqueig cessió.Té l'efecte de la còpia membres [0] per als membres [1] ..membres [6] i la reducció a zero membres [7].Un bucle de HDL no és mai "executant forma seqüencial", que s'avalua, però en seqüència executats en paral lel.

Ús de nonblocking "<=" cessió, el codi seria bàsicament un canvi de registre, que sona més significativa per a la meva opinió.Sobreescriptura de memòria [7] que encara es produeixen, però.

 
FVM va escriure:

Això és synthesis, però no és útil quan s'utilitza el codi de bloqueig cessió.
Té l'efecte de la còpia membres [0] per als membres [1] ..
membres [6] i la reducció a zero membres [7].
Un bucle de HDL no és mai "executant forma seqüencial", que s'avalua, però en seqüència executats en paral lel.Ús de nonblocking "<=" cessió, el codi seria bàsicament un canvi de registre, que sona més significativa per a la meva opinió.
Sobreescriptura de memòria [7] que encara es produeixen, però.
 
Acceptar per tal d'entendre que només durant la simulació serà executat a menys seqüencialment i utilitzar un nonblocking cessió.

corregir el meu codi per que es sobreescriu membres [7] té sentit ...

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Somriure" border="0" />Codi:

començar

sortida <= mem [0];

for (i = 0; i <7; i = i 1)

començar

mem <= membres [i 1] / / canviat de bàndol

final

membres [7] <= 8'b00000000;

final
 

Welcome to EDABoard.com

Sponsor

Back
Top