Hello, Guest!
 
 

 
 
  Objects Tiiips Categories
AMD AM29540DC
"Descrizione"
by RS232 (2002 pt)
2026-Jan-29 15:57

AMD Am29540

Definizione

AMD Am29540FFT address sequencer (sequenziatore di indirizzi per FFT) è un circuito dedicato che genera, in hardware, la sequenza completa di indirizzi dati (RAM) e indirizzi coefficienti (ROM) necessaria per eseguire le operazioni ripetitive di butterfly in una trasformata di Fourier veloce. L’obiettivo è togliere al microcodice (o alla CPU di controllo) il compito più “costoso”: calcolare ad ogni ciclo quali campioni leggere/scrivere e quale coefficiente (twiddle) usare, mantenendo il flusso deterministico e ad alta velocità. 

Funzioni

  • Fornisce un bus di indirizzi che punta, ciclo dopo ciclo, alle coppie di campioni da leggere per la butterfly e alle locazioni dove riscrivere i risultati.

  • Fornisce (o coordina) gli indirizzi per i coefficienti (tipicamente in ROM o in generatori sin/cos) in sincronia con i dati.

  • Supporta più varianti di algoritmo, selezionabili via pin/controlli: DIT/DIF, radix-2/radix-4, in-place / non-in-place, e gestione del bit-reverse (pre-scramble o output bit-reversed a seconda del caso).

Architettura FFT 

In un processore FFT microcodificato (o “bit-slice”), l’unità aritmetica può fare le somme/moltipliche della butterfly molto velocemente, ma senza un generatore di indirizzi dedicato si rischia di sprecare cicli (o ROM di microcodice) solo per calcolare indici, stride, bit-reverse e alternanza lettura/scrittura. Un sequenziatore come l’Am29540 riduce drasticamente questa complessità: gli dai il tipo di FFT e la lunghezza e lui emette la sequenza di indirizzi per l’intera trasformata.


Dati di identificazione e specifiche (tabella)

CaratteristicaValore indicativo (classe Am29540)Nota
FunzioneGenerazione indirizzi dati/coeff per FFTSequenze per butterfly
Lunghezza trasformata programmabileDa 2 a 65.536 punti (radix-2); da 4 a 65.536 (radix-4)In potenze di 2 o di 4
AlgoritmiDIT o DIFSelezione via controllo
RadiceRadix-2 o radix-4Selezione via controllo
In-place / non-in-placeSupportatoOpzioni di sequenza
Alimentazione5 V singolaTipico per la famiglia
Package40-pin DIPIndicativo
Linee di statoIteration complete, FFT complete, even/odd (o KNZ/KZ in RVI)Per controllo memoria/scaling



Interfacce logiche principali (come si “pilota”)

Dal punto di vista del sistema, è utile pensarlo come 3 blocchi: (1) selezione modalità FFT, (2) contatore/istruzioni di avanzamento, (3) uscita indirizzi + segnali di stato.

  • Selezione modalità: controlli per radix-4/2, DIT/DIF, e scelta della sequenza compatibile con dati pre-bit-reversed o meno (controllo tipo PSD nel materiale AMD).

  • Lunghezza trasformata: un set di bit (indicati come TL3–TL0 nel diagramma logico) che definisce la lunghezza, latched all’avvio della procedura.

  • Butterfly counter e istruzioni: il contatore di butterfly lavora sul fronte positivo di clock e risponde a 4 “istruzioni” funzionali: COUNT (avanza), RESET (inizializza), RESET/LOAD (inizializza e carica un offset), HOLD (pausa).

  • Porta indirizzi bidirezionale con 3-state: usata anche per caricare un offset durante RESET/LOAD; l’offset viene combinato con i bit alti non usati dalla lunghezza selezionata (effetto tipo OR sui bit di maggior peso “liberi”).

  • Segnali di stato:

    • EVEN/ODD: aiuta l’alternanza tra memorie di lettura/scrittura in non-in-place; in modalità RVI assume anche il ruolo KNZ/KZ (legato alla struttura della butterfly).

    • IT COMP: fine iterazione (fondo “colonna” di butterfly), utile anche per schemi di block floating (scaling per prevenire overflow).

    • FFT COMP: ultima butterfly della trasformata.


Schizzo dei collegamenti più importanti

┌──────────────────────────────┐ │ Controller / microcodice │ │ (o FSM / sequencer esterno) │ └──────────────┬───────────────┘ │ Modalità FFT │ Avanzamento / init RADIX4/2, DIT/DIF, PSD, TL[3:0] │ COUNT / RESET / LOAD / HOLD ▼ ┌─────────────────────────┐ │ FFT address sequencer │ │ (Am29540) │ │ │ │ ADDRESS[ ] ────────────┼──► RAM addr (data) │ │ │ (coeff addr) ──────────┼──► ROM / sin-cos / twiddle │ │ │ EVEN/ODD ──────────────┼──► banca RAM / R/W swap │ IT COMP ──────────────┼──► fine iterazione (scaling) │ FFT COMP ──────────────┼──► fine trasformata └──────────────┬──────────┘ │ ▼ ┌────────────────────────┐ │ Butterfly datapath │ │ (ALU/MAC/complex mul) │ └────────────────────────┘

Come leggerlo: il controller imposta modalità e lunghezza; poi ad ogni ciclo comanda l’avanzamento. Il sequenziatore produce gli indirizzi per pescare i campioni e i coefficienti nel punto giusto, mentre i segnali di stato permettono al sistema di alternare le banche di memoria e di sapere quando cambiare “fase” o terminare.


Modalità di indirizzamento e scelte architetturali (tabella)

Esigenza di sistemaImpostazione tipicaEffetto pratico
FFT standard complessaRadix-2 o radix-4 + DIT/DIFSequenza indirizzi per butterfly coerente con l’algoritmo
Dati già bit-reversed in ingressoPSD selezionato per “pre-scramble”Output in ordine più “comodo” (dipende dalla modalità)
In-place con input non pre-scrambledIn-place attivoOutput inevitabilmente bit-reversed
Evitare output bit-reversedNon-in-place + sequenza alternativaScrittura su area diversa e ordine più lineare
Gestione overflow/word-growthUso di IT COMPTrigger per block floating/scaling
Memorie ping-pongUso di EVEN/ODDAlternanza automatica banca lettura/scrittura

 

Evaluate