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