Altera_Forum
Honored Contributor
16 years agoAvalon Slave IP with Interrupt Receiver
We are trying to design an avalon slave that listens on the irq lines that are connected to the nios cpu.
This slave should later on be able to count the individual irq's and freeze the nios when accessed via nios datamaster (by using waitrequest) until an irq occurs. so we setup an sopc ip with the avalon slave signals as usualy done and added an interrupt receiver port with 32 bit. the tcl for this component has this section included add_interface interrupt_receiver interrupt start set_interface_property interrupt_receiver associatedAddressablePoint avalon_slave_0 set_interface_property interrupt_receiver irqScheme INDIVIDUAL_REQUESTS set_interface_property interrupt_receiver ASSOCIATED_CLOCK clock_reset add_interface_port interrupt_receiver irq irq Input 32 the testing sopc project just has nios, onchipmem, 2x pio and this custom ip. both irq from the pio's go to nios and our ip. sopc builder generates the verilog file which contains these section //irq assign, which is an e_assign assign cpu_0_data_master_irq = {1'b0, ..... unused set to 0 until ... 1'b0, 1'b0, 1'b0, pio_1_s1_irq_from_sa, pio_0_s1_irq_from_sa, 1'b0}; what is fine, but for our ip //Sopc_Idle_0_avalon_slave_0_irq of type irq does not connect to anything so wire it to default (0) assign Sopc_Idle_0_avalon_slave_0_irq = 0; ups ? within sopc there are 2 ints connected. so we would expect here the same as done for the cpu now, is there a chance without creating a datamaster to get access to these irq's ??? avalon interface specification is not clear here and the nios cpu has the irq's next to the data master. Any idea how to setup such an avalon slave ?