Forum Discussion

Andy's avatar
Andy
Icon for New Contributor rankNew Contributor
5 years ago
Solved

Custom IP: ALT_ENHANCED_INTERRUPT_API_PRESENT not being set

I've created a very simple system with a Nios II/e, On chip Memory and a custom IP module. My custom IP has an interrupt sender that is attached to the Nios core. I'm using the internal interrupt co...
  • Andy's avatar
    5 years ago

    It turns out that you need to set the 'optional' min_compatible_hw_version property in the _sw.tcl file

    set_sw_property min_compatible_hw_version 1.0

    Without this set, I don't think the driver was being properly detected.

    When looking under the Drivers tab in the BSP editor, although my custom IP module was listed in the table (Module Name and Module Class Name were populated), the Driver Name and Driver Version entries were 'none' and there was a warning in the Problems Tab in BSP Editor:

    'Hardware Component "TimeSync:1.0" does not meet candidate driver "Time Sync_driver" stated minimal compatible hardware version "7.1".

    -- New Info

    Having thought I'd sorted the problem it came back!

    It turns out that when the BSP was being generated it wasn't always finding my custom _sw.tcl files.

    If you run the nios2-bsp command from the command line it outputs where it is searching for these files. I've got my custom IP in their own folder within my FPGA project. I have this as a search path in Platform Designer. nios2-bsp wasn't looking in the correct place. So no idea why it sometimes worked!!

    Section 8.8.4 of the Nios II Software Developers Handbook 19.2 has some more info.

    I've now got my custom IP in the following location:

    <FPGA project root>/ip/<My company name>/<componentName>/

    With the sw.tcl file here:

    <FPGA project root>/ip/<My company name>/<componentName>/componentName_sw.tcl

    This seems to have made things work again.... for now!