Hi,
I have an EVM6455 which I've used for testing various SRIO examples including NWRITEs and NWRITE_Rs.
I'm now trying to get similar examples working on our hardware which is a C6455 connected to an FPGA. I have successfully sent NWRITEs and doorbells from the FPGA.
Unfortunately I can't get NWRITE(_R)s working on the C6455!
Here's what I do:
- Reset performed on C6455 and FPGA.
- C6455 runs SRIO bootloader.
- C6455 and FPGA both indicate <tt>PORT OK</tt> on port 0.
- All blocks indicating enabled.
- Run some code (using the emulator) on the C6455 to configure LSU0_REG1 to LSU0_REG4.
- Set LSU0_REG5 = 0x00000055 (NWRITE_R) or 0x00000054 (NWRITE) but nothing seems to happen!
I can't catch <tt>LSU_REG6</tt> indicating busy like I can on the EVM (it doesn't indicate any errors either). LSU0_REG1 and LSU0_REG2 do not increment like they do on the EVM. SP0_ACKID_STAT doesn't change like it does on the EVM. I've had a poke around in the various error registers and haven't noticed anything significant. Note the SRIO bootloader is running but I haven't done an SRIO boot because I haven't loaded the code using SRIO and I haven't sent the doorbell (I've just connected the emulator).
I'm using the same 5 lines of code to configure LSU0 on the EVM and our hardware.
I think the big differences are:
- Our hardware only has a single lane connected although I tried to use the EVM in 4 port (1x mode each) mode.
- On the EVM I do the initialisation and on our hardware the bootloader is doing the initialisation.
I'm hoping that someone will point out that I'm being stupid and that there is a simple step I need to perform in order to enable the LSU after an SRIO boot!
Thanks,
Matt