OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [core/] [9x8/] [peripherals/] [tb/] [AXI4_Lite_Slave_DualPortRAM/] [tb_AXI4_Lite_Slave_DualPortRAM.s] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
; Copyright 2013, Sinclair R.F., Inc.
2
; Test bench for AXI4-Lite slave dual-port-ram peripheral.
3
 
4
.main
5
 
6
  ; Set the dual-port-ram to the non-zero value 0xAB from the bottom to the top.
7
 
8
 
9
  ; Wait up to 128 iterations for the AXI master to write a 4 to address 16
10
  0x10 .outport(O_DP_ADDRESS)
11
  ${128-1} :wait_4
12
    .inport(I_DP_READ) 4 - 0= .jumpc(wait_4_done) .jumpc(wait_4,1-) drop .outstrobe(O_DONE) :wait_4_inf .jump(wait_4_inf)
13
  :wait_4_done
14
    drop
15
 
16
  ; Read and output the first 20 memory addresses starting with address 0.
17
  ; Note:  The micro controller address requires one clock cycle between the
18
  ;        "outport" and the ".inport" for the address to fully register in the
19
  ;        dual-port memory.  Removing the "nop" will cause this test bench to
20
  ;        fail.
21
 
22
    O_DIAG_ADDR outport O_DP_ADDRESS outport nop .inport(I_DP_READ) .outport(O_DIAG_DATA)
23
    1+ r> .jumpc(read_16,1-) drop
24
 
25
  ; Terminate the program.
26
  .outstrobe(O_DONE)
27
 
28
  :infinite .jump(infinite)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.