Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Interrupt handling with VHDL

Status
Not open for further replies.

bashyamvikram

Newbie level 4
Joined
Jun 7, 2009
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,336
Hallo all,

I am writing interputs for a fpga and dsp need to interact with a dual port memory shared dpram control in vhdl.
I have External IOs coming from the SPI bus on oneside to the fpag to be communicated with dsp and on the otherhand have a camera to the to the dsp.
So my intrups are like Havinf a FIFO being reset after everytime a FSM reads and writes the interrpts with dsp.

Now my problem is
1) I want to enable some particular interupts at a time and disable the others.
2)When make a masking with logical XOR function the other interupts coming from UART goes for a timeout.
3)When this is done the camera gets the signal but cant be controlled.

I use the following algorithm to deal with all asynchron inputs:
1. In event2reg_array_proc: save all inputs to parallel buffers “fifo_data_input_array”, each input(flag) should be put into separate buffer.
2. In reg_array2fifo_proc2: read each buffer serially and save them in a fifo “fifo320x32”.
3. In main FSM read the output from fifo and do the suitable processing, each cycle read out only one value, it should be one flag.

If you get some flags which remains in register even after processing, the reason can be:
1. In event2reg_array_proc: and reg_array2fifo_proc2:, if one flag (in buffer) has been written in the fifo, it should be cleared from the buffer. I use the “fifo_cnt” to control this. You can use simulation to check.
2. Line Camera sends the FRAME_VALID signal as same as the LINE_VALID signal, so you can get a lot of CAM2DSP_FRAME_SYNC_FLAG with Line Camera.


So can any one suggest any algorithm to enable particular interupts while the the camera is still communicating with DSP.
 

barry

Advanced Member level 5
Joined
Mar 31, 2005
Messages
4,998
Helped
1,094
Reputation
2,198
Reaction score
1,078
Trophy points
1,393
Location
California, USA
Activity points
27,364
72 people (so far) have looked at your post, and no one has responded. I think this means you need to restate your question; it's hard to understand what you are asking.
 

bashyamvikram

Newbie level 4
Joined
Jun 7, 2009
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,336
Ok..thanks barry.
I would like to put the question other way round.
How to enable a particular interrupt in a FSM with case statement, and the interrupts are coming as Std_logic_vector?

- - - Updated - - -

Ok..thanks barry.
I would like to put the question other way round.
How to enable a particular interrupt in a FSM with case statement, and the interrupts are coming as Std_logic_vector?

How to enable or disable a flag in a 64 bit in a FSM??
 

TrickyDicky

Advanced Member level 5
Joined
Jun 7, 2010
Messages
7,045
Helped
2,069
Reputation
4,155
Reaction score
2,023
Trophy points
1,393
Activity points
38,826
if the specific interrupt bit is 32, then you can just write:

interrupt(32) <= '1';
 

TrickyDicky

Advanced Member level 5
Joined
Jun 7, 2010
Messages
7,045
Helped
2,069
Reputation
4,155
Reaction score
2,023
Trophy points
1,393
Activity points
38,826
you are still not clear. You can easily read and write to any size of vector.
 

bashyamvikram

Newbie level 4
Joined
Jun 7, 2009
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,336
Now i got the solution....thanks for the suggestion and the help.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top