Forum Discussion
Altera_Forum
Honored Contributor
13 years agoHey rbugalho,
Thanks for all of the guidance. I've been working through the tool chain using your advice and think I have the paradigm under control. However, I've been not making quite as much progress in the implementation as I had hoped. If possible, could you provide some guidance. Below is a description of what I am attempting to do and the problems I am encountering. I'll be as brief as possible. Again, thanks in advance for any help. The system is using the DE2-115 HSMC and GPIO connectors. They attach to the address, data and a single control line of an embedded Intel 80196 processor. Address and Data are valid when the control line goes low. The overall Quartus project is based on the Simple Socket Server example. The custom component contains an interface to the HSMC/GPIO connectors, a 0x3ffff by 1 RAM, an interface to the NIOS processor and an interrupt. The intent is to write a 1 to the RAM location specified by the 80196 address lines when the control line goes low. I added the interrupt to "ping" the SW ever few thousand 80196 instructions. When I am done collecting 80196 addresses, the NIOS reads the RAM. Note that the 80196 and NIOS are NOT accessing RAM at the same time. I've attached the VHDL file generated by SOPC builder and augmented with code I hope would trigger an interrupt. My struggle has been with finding implementation examples. I would appreciate any implementation guidance. Questions/Issues: 1) (VHDL Newbie Q) I created the interface to the HSMC/GPIO as exports in SOPC Builder. The intent is to connect them to a handful of HDMC/GPIO pins. The HSMC/GPIO pins are allocated in the pin map. What is the syntax for allocating the coe_tdrinterface_xxx ports to specific HDMC/GPIO pins? 2) You'll notice that I tried to implement something to simply toggle one of the LEDs. The intent was to connect it to the red LED component. I would assume I do this with a Avalon MM. However, when I add the MM interface, it doesn't specify any address/data/control lines. 3) I implemented a interrupt_sender which appears in SOPC builder (and the subsequent system.h BSP file) as INT10 and implemented the SW in the attached C file. It appears that the SW initializes the interrupt. It may even be firing. But the SW goes into the weeds when Line 31 executes (Note that I have the interrupt mask cleared to disable all interrupts...?). I have similar interrupts configured for the button DE2-115 button presses. They work. If I look at the button and switch components in SOPC builder, they appear to given me control over interrupt polarity, etc. However, the interrupt sender does not. Sorry for the lengthy post. Again, many thanks in advance.... ME