Tesi Robotica Analisi, progettazione e implementazione... | Page 100
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 100 — #100
i
100
i
4. VERILOG E BLUESPEC SYSTEMVERILOG
del modulo mkBRAM1Server (modulo che implementa l’interfaccia) è possibile
ottenere finalmente una BRAM1Port:
1
2
BRAM_Configure cfg = BRAM_Configure{memorySize:10, latency:1,
outFIFODepth:3, loadFormat:None, allowWriteResponseBypass:False};
BRAM1Port#(Bit#(10), Bit#(32)) ram <- mkBRAM1Server(cfg);
In questo caso si è deciso di costruire una BRAM1Port con un bus di indirizzamento largo 10 bit ed elementi grandi 32, il numero di elementi come detto
prima viene fornito tramite l’oggetto BRAM_Configure.
L’utilizzo è semplicissimo, basta inoltrare richieste di tipo BRAMRequest:
1
ram.portA.request.put(BRAMRequest{ write:false, responseOnWrite:False,
address:0, datain:?});
ed aspettare un ciclo di clock per il ricevimento dei dati letti:
1
ram.portA.response.get()
i
i
i
i