Latency Measurement/SDRAM configuration/External Interrupts

Latency Measurement/SDRAM configuration/External Interrupts

by Darko Lukic -
Number of replies: 0

Hello,

We are trying to finish the first assignment, but there are several things we are missing.

Cannot Find Proper Bus for Latency Measurement

In order to measure latency ("Manipulation 5") we want to use Signal Tap Logic Analyser. We are able to catch interrupt there, but we cannot find a proper bus (see attachment "signal_tap.png"). We have tried with multiple buses and the most promising are "nios2_gen2_0_data_master_address[18..0]" and "i_address[18..2]" (we cannot access to the first 2 bits). However, none of those is giving reasonable results. Could you please tell us what bus should we look for?

Cannot Connect SDRAM

In Manipulation 5 it is also requested to test interrupt response/recovery time with SDRAM. Therefore, we tried to replace On-Chip memory with SDRAM Controller Intel FPGA IP (see attachment "sdram.png"). As a result, we are getting multiple errors depending on further configuration:

- in case we delete On-Chip memory, Eclipse is throwing an error that there are some signals missing related to On-Chip memory,

- in case we leave On-Chip memory together with SDRAM, Eclipse is throwing an error "Downloading ELF Process failed!"

How to properly connect SDRAM? We assume that we need to tell NIOS II to be aware of the new memory. We already specified in NIOS II configuration (see attachment "sdram.png"), but we are missing somewhere else?

Not Getting Interrupt from Keys

In Manipulation 6 is required to put uC/OS-II on FPGA which we did and it works fine. We have tried a few examples with semaphores and threads and it works fine. Also, we are able to raise an interrupt from the software and to read a combination of pressed keys. However, we are not able to get interrupt on key press.

We configured PIO (Parallel I/O) Intel FPGA IP as in attachment "pio.png" and used the following line to export pins in top_module:

pio_0_external_connection_export    => KEY_N(3 downto 0)

How to make keys raise an interrupt? We assume that we have to enable the external interrupt, but I am not sure.

Thank you very much,

Darko

Attachment pio.png
Attachment sdram.png
Attachment signal_tap.png