Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

DK-N2EVAL-3C25N board with Quartus II / Nios II

Hi.

I got a DK-N2EVAL-3C25N board some days ago and have some problems to understand how all the software get used.

When i get it right, the board has not really a microcontroller on it, the Nios II 3C25 microprocessor runs in the fpga. Thats really confusing for me, because i had only boards before with an external microcontroller.

There is some documentation, but its not really good and most of the stuff is broken, yes broken. And there are many conflicts with the versions. Some stuff runs only with the version 11.1, some other stuff with 9.1 and so on.

There are examples for using the nios microcontroller and c/c++ but that was not really the plan why i bought a fpga board. The plan was to program vhdl/verilog. There are not really good examples how to create an project with Quartus II

and its even more confusing, that the microcontroller is in the fpga. Usually you have source for the external microcontroller and code for the fpga and each communicate with each other by defined output pins.

But how does that work with that combination?

There is not really any kind of usefull example or documentation only for using the Nios II 3C25 microprocessor. I could compile the c code and run it with the usb-blaster on my device.

But how does it work to use microprocessor with verilog in combination?

And how can i use the megacore libs? There is a lot of marketing bla, but that is not helpfull. Its nice when nice girls explain me how magic the megacore libs are, but i would prefer when they tell me how to use it.

And the worst thing are the examples.

I downloaded the Altera's Video and Image Processing Suite, because it has everything what i need. I can run the binaries but i cant compile the code(11.1 and 9.1). I tried nearly every version of Quartus II and in each version something else is missing. It looks like that parts of the example are missing. I looked in the board here and many people complaint about that in different examples. One guy asked for the missing stuff and the altera support send him the missing parts after he asked many times. Examples which don't work are useless.

I read now many documents about the board, the Quick Start Guide, the User Guide, the My First Nios II Software Tutorial, the My First FPGA Tutorial abd many more but.

Does anyone has some examples or documents how to use the microcontroller in combination with verilog.

Can someone explain me how to use the megacore libs and are there list of what is included?

And why are so many examples from altera uncompleted?

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Grinder:

    I feel your frustration. But don't give up.

    First off FPGA's are extremely flexible devices, so the NIOS core (microcontroller), is not "IN the FPGA" as a hard core in so much as it is built out of the FPGA fabric. So that in itself shows you the flexability of the device.

    I'm not very familiar with this particular development board, but if it follows the trend of others I worked with, most of the documentation, and support was done with a particular version of Quartus. Unfortunatly, Quartus is a moving target, so things get broken along the way, and the developers on the boards don't always spend the time, to update the projects.

    There were significant changes between quartus 9.x and 10.x, so many things broke. Also a common issue, is the versions of cores they used change between versions, so when you try to run it will say core xxx version y.y is not available. Most of the time, you can just replace that version in QSYS with the latest and move on.

    As far as creating verilog to work with the micro. The common way is to make your own QSYS core that has an avalon bus interface. This is not a simple project, but gives you a memory map interface that you can then plunk into QSYS and build.

    You can use all kinds of other interfaces to get the job done. (IE a serial interface, toggling GPIO's etc), but for efficiency of transfers, the Avalon bus is the way to go.

    If you are looking to use a more powerful CPU, Cyclone V have ARM A9 cores available (HARD cores built into the fabric). Then using ARM's AXI or APB bus structure is the way to go.

    The Avalon specification is found at http://www.altera.com/literature/manual/mnl_avalon_spec.pdf

    Best of luck.

    Pete
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Its even worse.

    After I got some stuff running I started with some another examples, but they all dont work without the SD/MMC Card IP core license.

    To get one, you must apply for it but the page is half broken and looks like really old and unsupported.

    The chanced to get it is really small.

    Thats not really helpfull. I ordered that board because of the composite video in, I really need it for my special camera.

    But I dont see that happen on that board.