- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can't seem to find the "Accelerate with the Nios II C2H Compiler" option when right clicking on a selection function name.. Thanks in advance.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think that C2H was only ever available as a paid for extra.
I believe it has also been (more or less) discontinued - probably because it didn't actually meet the expectations of those who tried to use it.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the quick reply. Quite surprising to hear that it is kind of discontinued. I have just completed the BeMicroSDK tutorial that demonstrated an FIR sample in both SW and HW implementation, but can't quite understand the code in the hardware implementation. After googling found an older version (Quartus v6?) document showing the exact same C code but demonstrating the C2H. The following is the sample code from the BeMicroSDK tutorial for the HW implementation:
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (4), (int) (input_data));
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (8), (int) (length));
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (12), (int) (output_data));
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (16), (int) (tap_length));
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (20), (int) (coefA));
IOWR_32DIRECT(ACCELERATOR_FIR_FIR_HW_MANAGED_INSTANCE_CPU_INTERFACE0_BASE, (24), (int) (coefB));
...
Is this code sample from the tutorial generated by C2H? How does it work?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Judging by the names in those macros the hardware was generated by C2H. The C code used to generate the hardware accelerator can be somewhat confusing because that taps had to be written backwards to prevent the C2H compiler from optimizing everything away. If you are trying to look at the generated hardware files I wouldn't even bother, it's machine generated and it would be much quicker to look at a hand written implementation instead.
I don't know anything about that BeMicro design but I'm guessing the designer either used the old legacy tools that C2H supports, or they managed to use the legacy tools and then shoehorned the accelerator into a Qsys system and managed the accelerator manually. The latter is time consuming and very error prone so I don't recommend that anyone even attempt such a thing..... it would take too long to describe what can go wrong but from what I've seen others trying to do it normally doesn't work.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page