Please does anyone have experience with EDK 3.2 for embedded design? I am trying to make my microblaze processor to be interrupted when I push a certain input button. I can make Timer-interrupt work, but I cant make and outside stimuli to interrupt the processor. Anyone know how to do this? I have added a interrupt-controller to the opb bus, and set its irq to the same net as the Microblaze Interrupt. John
EDK problem!
Started by ●September 2, 2003
Reply by ●September 2, 20032003-09-02
"John T." <john@dat.com> wrote in message news:<bj1l57$plr$1@news.net.uni-c.dk>...> Please does anyone have experience with EDK 3.2 for embedded design? > I am trying to make my microblaze processor to be interrupted when I push a > certain input button. I can make Timer-interrupt work, but I cant make and > outside stimuli to interrupt the processor. Anyone know how to do this? > I have added a interrupt-controller to the opb bus, and set its irq to the > same net as the Microblaze Interrupt. > > Johnsimple external ints should work as well (as timer ints), well connecting a push-button directly to int net probably isnt the best idea, there will always be some bouncing :( just a note: if you have multiple interrupt sources then you have to assign to them all different names and write those names with "&" concatenated in the edit core dialog - this was something that did take long time for me to understand (until I found that is in the IP core manual, not INTC pdf but general IP cores document). just check that the int lines are connected in the system.vhd file and that the interrupt handler procedures are assigned correctly, then when you enable int it should come? antti http://www.graphord.com/forum
Reply by ●September 3, 20032003-09-03
"Antti Lukats" <antti@case2000.com> skrev i en meddelelse news:80a3aea5.0309020440.3a8e4a23@posting.google.com...> "John T." <john@dat.com> wrote in messagenews:<bj1l57$plr$1@news.net.uni-c.dk>...> > Please does anyone have experience with EDK 3.2 for embedded design? > > I am trying to make my microblaze processor to be interrupted when Ipush a> > certain input button. I can make Timer-interrupt work, but I cant makeand> > outside stimuli to interrupt the processor. Anyone know how to do this? > > I have added a interrupt-controller to the opb bus, and set its irq tothe> > same net as the Microblaze Interrupt. > > > > John > > simple external ints should work as well (as timer ints), well > connecting a push-button directly to int net probably isnt the best > idea, there will always be some bouncing :( > > just a note: if you have multiple interrupt sources then you have to > assign to them all different names and write those names with "&" > concatenated in the edit core dialog - this was something that did > take long time for me to understand (until I found that is in the IP > core manual, not INTC pdf but general IP cores document). > > just check that the int lines are connected in the system.vhd file and > that the interrupt handler procedures are assigned correctly, then > when you enable int it should come? > > antti > http://www.graphord.com/forumThanx for the reply. My question is more likely: Where, in what menu do you set an external input to be an interrupt source??? Where do you declare the name of the interrupt function??? With a timer you can do that by right-clicking the timer and chose a name for the "timer interrupt handler function". Beset Regards John
Reply by ●September 3, 20032003-09-03
John T. wrote:> Thanx for the reply. My question is more likely: Where, in what menu do you > set an external input to be an interrupt source??? Where do you declare the > name of the interrupt function??? With a timer you can do that by > right-clicking the timer and chose a name for the "timer interrupt handler > function".In XPS you can open the system port properties dialog (rightclick on the system overview and select Object properties). In this dialog you can specify the class of an input signal I/O (empty), Clock or Interrupt. When you select interrupt, you can add it to the Intr port of the interrupt controller. If you want to debounce the switch first, you probably have to write your own peripheral. In that case you can indicate that the output port of this peripheral is of Interrupt type. Regards, Rienk
Reply by ●September 3, 20032003-09-03
> Thanx for the reply. My question is more likely: Where, in what menu do you > set an external input to be an interrupt source??? Where do you declare the > name of the interrupt function??? With a timer you can do that by > right-clicking the timer and chose a name for the "timer interrupt handler > function".uups, I didnt think "I usually don't (think), and my wife says its total disaster when I do" ;) I am afraid to get the int line out you need to define a real dummy peripheral that simple routes the pin to interrupt controller. then add this peripheral component, place the ports and connect. in the vhdl of the component you only have one wire-connection I should think sometimes sorry, you are right if there is no component driving interrupt you can not assign int handler either antti
Reply by ●September 4, 20032003-09-04
antti@case2000.com (Antti Lukats) wrote in message news:<80a3aea5.0309030231.1a98e839@posting.google.com>...> > Thanx for the reply. My question is more likely: Where, in what menu do you > > set an external input to be an interrupt source??? Where do you declare the > > name of the interrupt function??? With a timer you can do that by > > right-clicking the timer and chose a name for the "timer interrupt handler > > function". > > uups, I didnt think > "I usually don't (think), and my wife says its total disaster when I do" > ;) > > I am afraid to get the int line out you need to define a real dummy > peripheral that simple routes the pin to interrupt controller. > then add this peripheral component, place the ports and connect. > in the vhdl of the component you only have one wire-connection > > I should think sometimes sorry, you are right if there is no component > driving interrupt you can not assign int handler either > > anttiHi, To set an external interrupt to be an interrupt source, there is no mechanism available in the GUI currently. But, you could add the following line to the MSS file after the version is declared : PARAMETER VERSION = 2.0.0 PARAMETER HW_SPEC_FILE = system.mhs PARAMETER INT_HANDLER = myint_handler, INT_PORT = myint_pin This will configure microblaze to call "myint_handler" whenever the external interrupt "myint_pin" interrupts microblaze. Also, this is assuming that "myint_pin" is directly connected to the interrupt port of microblaze without an interrupt controller. Hope this helps Sathya
Reply by ●September 5, 20032003-09-05
"Sathya Thammanur" <sathyatm@yahoo.com> wrote in message news:5ca58e96.0309040934.4be7d638@posting.google.com...> antti@case2000.com (Antti Lukats) wrote in messagenews:<80a3aea5.0309030231.1a98e839@posting.google.com>...> > > Thanx for the reply. My question is more likely: Where, in what menudo you> > > set an external input to be an interrupt source??? Where do youdeclare the> > > name of the interrupt function??? With a timer you can do that by > > > right-clicking the timer and chose a name for the "timer interrupthandler> > > function". > > > > uups, I didnt think > > "I usually don't (think), and my wife says its total disaster when I do" > > ;) > > > > I am afraid to get the int line out you need to define a real dummy > > peripheral that simple routes the pin to interrupt controller. > > then add this peripheral component, place the ports and connect. > > in the vhdl of the component you only have one wire-connection > > > > I should think sometimes sorry, you are right if there is no component > > driving interrupt you can not assign int handler either > > > > antti > > Hi, > To set an external interrupt to be an interrupt source, there is no > mechanism available in the GUI currently. But, you could add the > following line to the MSS file after the version is declared : > > PARAMETER VERSION = 2.0.0 > PARAMETER HW_SPEC_FILE = system.mhs > PARAMETER INT_HANDLER = myint_handler, INT_PORT = myint_pin > > This will configure microblaze to call "myint_handler" whenever the > external interrupt "myint_pin" interrupts microblaze. Also, this is > assuming that "myint_pin" is directly connected to the interrupt port > of microblaze without an interrupt controller. > > Hope this helps > SathyaThank you all. That helped me some, but I am still getting CRAZY!!! Whenever I change something and tries to redraw the PBD window it just change my changes back to the original and nothing happens!!! Could I somehow switch this feature off in the EDK? John
Reply by ●September 5, 20032003-09-05
[snip] > Thank you all. That helped me some, but I am still getting CRAZY!!! > Whenever I change something and tries to redraw the PBD window it just > change my changes back to the original and nothing happens!!! Could I > somehow switch this feature off in the EDK? > > John John, If you've got EDK 3.2 sp2 then you can turn this feature off by going to "Options -> Preferences" then selecting the top button "Redraw schematic layout to synchronize changes." The .pbd will still come up when you open the project but I typically just close it and don't save changes. Best regards, Ryan Laity Xilinx Applications
Reply by ●September 5, 20032003-09-05
> Thank you all. That helped me some, but I am still getting CRAZY!!! > Whenever I change something and tries to redraw the PBD window it just > change my changes back to the original and nothing happens!!! Could I > somehow switch this feature off in the EDK?I found the PBD 200% useless, so doing all modifications in add/edit cores dialog. After closing it I always say 'regenerate' it will redraw PBD then I close PBD and say overwrite MHS it works that way but agree is ANNOYING, no idea how to disable that PBD update ... antti http:/www.graphprd.com/forum
Reply by ●September 5, 20032003-09-05
EDK 3.2 did have synchronization problems. They have been solved in the EDK 6.1i release which should be out in about a month. Steve Antti Lukats wrote:>>Thank you all. That helped me some, but I am still getting CRAZY!!! >>Whenever I change something and tries to redraw the PBD window it just >>change my changes back to the original and nothing happens!!! Could I >>somehow switch this feature off in the EDK? >> >> > >I found the PBD 200% useless, so doing all modifications in add/edit cores >dialog. After closing it I always say 'regenerate' it will redraw PBD >then I close PBD and say overwrite MHS > >it works that way but agree is ANNOYING, no idea how to disable that >PBD update ... > >antti >http:/www.graphprd.com/forum > >





