Forum Discussion

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

Newbie Question on Cyclone III

Hi, I’ve done a lot of x86 Assembly and C programming in the past and have wanted to play around with microcontroller programming for a while. Initially I’d like to start with simple “hello world” applications (ie: blinking LED), interfacing with a computer via a serial & usb port, but ultimately my goal is to create a NAND reader / writer.

I decided to go with the Cyclone III Starter Board as my initial learning platform but am overwhelmed by the wealth of information available. I have a few questions:

1. What programming language do I need to learn, I’ve seen VHDL, Verilog, and C. If I understand correctly (please correct me if I’m wrong), VHDL and Verilog are used if I want to create a pseudo hardware chip (ie: using building blocks like OR, AND, or NOR gates) while I can use the Nios module to turn the CPU into a micro controller (like a Microchip PIC).

2. If I understand correctly I’d likely be doing most of my programming in the Nios processor w/ the Nios II C2H Compiler which are “Time Limited” what does “Time Limited” mean? How much does it cost to buy a license for the Nios processor and Nios Compiler?

3. What are some good resources for beginners, I read a few of the university tutorials which I don’t understand (yet) fully and was curious if there are any good books or pages on the subject of Nios or VHDL/Verilog

Thanks

2 Replies

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

    Hmm, I take it back, after reading some how-to guides, examples, and snippets from books it looks like VHDL has variables, conditional flow, and all the other neat things that make it like any other programming language just with an emphasis on hardware :)

    Correct?

    I ordered these books:

    circuit design with vhdl

    the designer's guide to vhdl, volume 3, third edition (systems on silicon)
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    VHDL is more a hardware description language than a programming language. You can do simple logic and state machines quite easily. It can also be good to do repetitive tasks, such as filtering, video processing. But for complex algorithms, it may be a better idea to switch to a CPU and use a programming language such as C.

    If you don't have a license for the Nios CPU, it will work in evaluation mode. It will work as long as you keep the USB cable connected, or if you disconnect it the CPU only works for a limited amount of time (1 hour, usually).