Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21611 Discussions

NIOS II first time user

Altera_Forum
Honored Contributor II
2,243 Views

Hi 

I am using NIOS II processor first time. Please help me with following questions. 

 

 

Goal: 

I am using signalTap to monitor output of my logic and my control values are being hard coded. I wanted to change my control signal in real-time and monitor the output of status signals. 

 

In order to achieve my goal I am thinking about using NIOS II precessor. 

 

0) Do I still need to write verilog code for cpu I/F ? 

1) Since this an embedded system, I can define my register names and addresses in software? 

2) after I create the NIOS II processor with on-chip memory using SOPC. what should I do next ...to connect my logic to NIOS II processor? 

 

Thanks 

Guru
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
1,325 Views

Have you ever used an embedded soft-core processor (ARM, MicroBlaze, Mico32, etc.) in an FPGA before? 

 

These page should become your new best friend: 

http://www.altera.com/literature/lit-nio2.jsp 

http://www.altera.com/support/ip/processors/nios2/ips-nios2_support.html 

 

What you really ought to do is run through some design tutorials first: 

http://www.altera.com/literature/hb/nios2/edh_ed_handbook.pdf 

http://www.altera.com/literature/tt/tt_nios2_hardware_tutorial.pdf 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Thank you Jake,

0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Hi Jake, 

I went through some of the design examples. and understood how to create NIOS II processor using SOPC but still couldn't figure out how Nios II system can interact with other on-chip logic? 

If you can help me that would really helpful. 

 

Thanks. 

Guru
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Here is one more tutorial for you. This will teach you how to create custom components for SoPC builder. 

 

http://www.altera.com/literature/hb/qts/qts_qii54007.pdf 

 

After that, if you still feel you need help, I would be glad to assist you. 

Basically there are two different methods to interfacing to custom logic: 

1 - Make your custom logic an SoPC builder component that resides inside your SoPC system. This is the most common approach and is what you'll learn in the above tutorial. 

2 - Export a portion of the avalon bus and connect it to your custom logic outside SoPC builder. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Thank you Jake, 

Now , I understand about NIOS II Hardware Development. 

I have some questions on component editor.  

Under signals menu. 

name interface signal type width direction. 

 

In my design, I have some control signals and status signals. I am not sure what to option to select for interface and signal type for my signals. 

I read the Avalon Interface specification, page 14 onwards , It didn't help me much. 

Any suggestions. 

 

Thanks  

Guru
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

So are these signals that are not part of the avalon bus? In other words, are these signals that you are going to export out of the SoPC system and connect to other logic? If so, what you do is create a "conduit" interface. Then "export" for the signal type. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Thanks Jake, 

For Now, I am not going to connect this signal to other logic. I am going to assign values to control signals and monitor the status signals( on Debug terminal) . Do I still need to use "conduit" and "export"? 

 

Thanks 

Guru
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

If you need access to the signals outside of your module (and outside of SoPC builder), then you must export them. 

 

You've got to assign all ports to some type of interface. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Thanks Jake

0 Kudos
Altera_Forum
Honored Contributor II
1,325 Views

Hi Jake, 

 

 

If I wanted use the clock directly from board to custom module. Do I have to select “clock_reset” or “conduit_end”. ? 

I have three clocks coming into custom block. If I am getting the following warning(in component editor), which means that ,I can only connect one clock externally and create other two clocks using PLLs (instantiate in my custom module)  

 

 

warning: clock_reset: signal clk appears 3 times (only once is allowed) 

 

 

I selected “conduit_end” for my control and status signals, which means that using NIOS II IDE, I am able to change the control values in real-time and read the status registers in real-time. 

Or Do I still need to connect the SignalTaps to monitor my status signals real-time? 

 

Thanks 

Guru
0 Kudos
Reply