Pagina 1 di 2

Buffer in VHDL

MessaggioInviato: 4 mar 2015, 16:58
da baudy
Salve a tutti,
avrei bisogno di aiuto da chiunque di voi conosca e lavori con il vhdl.
Devo realizzare un "Buffer" da 2 bit per 115 posizioni. La mia idea era quella di creare una entity PIPO a 2 bit e di collegare in serie 115 strutture di questo tipo; esiste un modo per realizzare una cosa del genere senza dover riscrivere 115 component in sequenza? So che si potrebbe utilizzare una memoria ma non so bene come gestire ancora questo tipo di strutture.
Grazie

Re: Buffer in VHDL

MessaggioInviato: 4 mar 2015, 17:32
da TardoFreak
Scusa, sono solo curioso: cos'è una PIPO? :-M

Re: Buffer in VHDL

MessaggioInviato: 4 mar 2015, 17:54
da Max2433BO
... forse è la sigla per identificare un registro Parallel Input Parallel Output...

... se la memoria non mi inganna :mrgreen:

O_/ Max

Re: Buffer in VHDL

MessaggioInviato: 13 mar 2015, 20:21
da DrCox
Da The Designer's Guide to VHDL mi viene da suggerirti di usare gli statement generate.
Cito dal testo:
If we want to replicate a subsystem, we can use a generate statement [...] Generate statements are particularly useful if the number of times we want to replicate the concurrent statements is not fixed but is determined from the value of a generic constant.


Prova a guardarti la sintassi, vedi se fa al caso tuo

Re: Buffer in VHDL

MessaggioInviato: 13 mar 2015, 21:19
da boiler
Oltre a non sapere cosa è una PIPO, non so cos'è un buffer-tra-virgolette.
Provo a giocare al mago indovino e nella sfera di cristallo vedo un registro di shift di larghezza 2 e profondità 115.

La parte combinatoria si fa così:
Codice: Seleziona tutto
RegShift_A_next(113 downto 0) <= RegShift_A_current(114 downto 1);
RegShift_A_next(114) <= RegShift_A_input;

riproducendola e sostituendo la A per ogni bit di larghezza (avrai quindi A e B nel tuo caso). Se sono parecchi, qui viene buono il consiglio di Foto UtenteDrCox. Ovviamente ci vanno come contorno il suo bel processo e la definizione dei vettori.

La parte sequenziale è il solito registro (con o senza enable).

Se non è uno sterile esercizio e soprattuto se attraversi un clock-domain (in tal caso imperativo!) usa un IP-core che così si occupa anche della sincronizzazione.

Boiler

Re: Buffer in VHDL

MessaggioInviato: 14 mar 2015, 0:04
da boiler
Allora, il PIPO sembrerebbe proprio quanto detto da Foto UtenteMax2433BO, anche se è una dicitura che non ho mai visto. Si conferma anche che parliamo di registri di shift:
http://www.st.com/web/en/resource/techn ... 001803.pdf

Boiler

Re: Buffer in VHDL

MessaggioInviato: 14 mar 2015, 1:10
da TardoFreak
Pirst In Pirst Out? :-M

Mi ricorda la canzone dei Genesis "Pirth Of Pifth"

Re: Buffer in VHDL

MessaggioInviato: 14 mar 2015, 2:25
da claudiocedrone
:D Nel mio dialetto il pipo è... non lo dico, dico solo che il corrispondente femminile è pepa e che si accoppiano perfettamente :mrgreen: O_/

Re: Buffer in VHDL

MessaggioInviato: 15 mar 2015, 12:11
da Max2433BO
Scusate se vado lievemente OT...

Quando studiavo elettronica, nella secodna metà degli anni '80, a riguardo dei "registri a scorrimento", ci erano stati inculcati questi acronimi:

FIFO - First Input First Output
FILO - First Input Last Output
LIFO - Last Input First Output
LILO - Last Input Last Output
SISO - Serial Input Serial Output
SIPO - Serial Input Parallel Output
PISO - Parallel Input Serial Output
PIPO - Parallel Input Serial Output

O_/ Max

Re: Buffer in VHDL

MessaggioInviato: 18 mar 2015, 17:55
da baudy
Ciao ragazzi, alla fine ho scritto 115 linee di codice e 114 segnali interno e diciamo che il tutto sembra essere coerente. Qualcuno di voi ha mai creato un test bench con matlab per testare i suoi progetti VHDL? Perché per testare una struttura del genere dovrei generare 115 stimoli ma avendo già un programma Matlab che genera questi campioni vorrei sapere se posso utilizzare quelli per il test bench.
Grazie