..... problema de síntesi Can anyone help me .................

A

akp494

Guest
Estic utilitzant l'índex per accedir a alguns fragments d'un registre de desplaçament ja que les variacions de l'índex els valors depenent d'algunes condicions.
en VHDL la peça de codi són aquestes:
a <= reg ( 1 downto PTR PTR), on "a" és de dos vectors de bits.

Quan intent de sintetitzar la peça anterior de codi, Synopsys DC diu una constant que s'espera que l'índex.

En la meva opinió, l'eina de síntesi hauria de ser actualitzat per inferir aquest tipus d'implementacions.Aquí es defineix reg "," A "es defineix així com" ptr "està definit i per tant, l'eina no, l'ideal seria veure un problema en l'aplicació de la present.

Permetin explicar el problema d'una manera diferent.

Suposem que tinc les declaracions del senyal següents.reg senyal: std_logic_vector (15 downto 0);ptr senyal: integer;un senyal: std_logic_vector (1 downto 0);

Llavors, en algun lloc en el codi si dica <= reg ( 1 downto PTR PTR)Ara bé, si jo tracte de sintetitzar el codi que utilitzen corrent continu està donant un error en la declaració anterior que mostra el següent comentari.

"Una constant és esperat com l'índex"Hi ha algun treball al voltant d'això??És el problema amb l'eina.

 
Vostè pot utilitzar la següent manera si ptr és un vector de 4-bits

cas (PTX)
quan "0000" => a <= reg (? downto?);
quan "0.001" => a <= reg (? downto?);
...
quan els altres => ...
endcase

 
Hola Jazz
No vull posar a prova per a totes les combinacions de "ptr".Perquè va a volar el meu codi.Llavors, ¿hi ha alguna manera una eina pot reconèixer aquest tipus d'indexació??

 
vostè pot provar el BC o Synplify perquè els instruments de suport a la síntesi de la conducta.

 
no hi ha necessitat de sintetitzar el disseny de comportament.
això no es beneficiaran.

 
que s'estan barrejant amb les mides de bits.
això confondre DC.
ha d'utilitzar la mida exacte de bits que utilitzarà
reg al canvi.
Your say give extra.
I sí, vostè ha de declarar totes les opcions (FULLCASE ús / cas paral.lel.)

es pot veure canvi reg exemples en aquest fòrum / web
bona sort.

 
També ús un Linter abans d'anar a DC.
també pot ajudar.

 
No pot fer-ho d'aquesta manera.Tingueu en compte que a <= reg ( 1 PTX PTX DOWNTO) significa que les connexions físiques entre una i reg canvis en funció del valor de PTR.Una vegada que un disseny és sintetitzat aquests connexió física a ser constant.Vostè vol que aquestes connexions físiques es modifiqui en temps real, quan el dispositiu està funcionant el que és impossible.En la declaració VHDL només són utilitzats amb fins estàtics per a, per exemple quan l'ús de genèrics.Alternativament, el que pot fer és: vostè ha d'usar un multiplexor entre una i reg i controlar el flux de dades entre una i reg canviant la selecció d'entrada del multiplexor.

 

Welcome to EDABoard.com

Sponsor

Back
Top