Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
12748 Discussions

Multiple SOPC Builder System

Altera_Forum
Honored Contributor II
1,006 Views

I currently have a working system that includes a NIOS II CPU. I am trying to create a new design that that will have two such systems in a single chip (a Stratix II). I noted in the Altera Handbook for SOPC that it was possible to instantiate Multiple SOPC Builder Systems as long as care is taken on the naming of the components. I have been able to Generate two NIOS II systems that are replica's of each other with changing the names of the systems and their components. The problems occurs when I try to complile. I have a seperate EPCS controller in each NIOS II system. When I compile I get the following errror 

 

Error: Entity "epcs_controller_epcs_control_port_arbitrator" in file M4K1553PxIIIcpuSYSTEM.vhd already exists in file M4K1553PxIIIcpuSYSTEM_C2.vhd 

 

I noticed that in the SOPC that you can't change the name of the EPCS controller nor does it allow you to intantiate more than one EPCS Controller. Is there any way around this error ? Does anyone know if it is possble in such a double system to have the EPCS controller instantiated in both NIOS systems (for two seperate EPCS chips)? I would prefer to try and design system in this manner in order to keep the system as close to the currently working design (as apposed to having a single EPCS controller and a single larger EPCS chip that could be used to configure both systems) . Can anyone help me ?
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
372 Views

 

--- Quote Start ---  

originally posted by shmueld@Feb 6 2007, 12:35 PM 

i currently have a working system that includes a nios ii cpu. i am trying to create a new design that that will have two such systems in a single chip (a stratix ii). i noted in the altera handbook for sopc that it was possible to instantiate multiple sopc builder systems as long as care is taken on the naming of the components. i have been able to generate two nios ii systems that are replica's of each other with changing the names of the systems and their components. the problems occurs when i try to complile. i have a seperate epcs controller in each nios ii system. when i compile i get the following errror 

 

error: entity "epcs_controller_epcs_control_port_arbitrator" in file m4k1553pxiiicpusystem.vhd already exists in file m4k1553pxiiicpusystem_c2.vhd 

 

i noticed that in the sopc that you can't change the name of the epcs controller nor does it allow you to intantiate more than one epcs controller. is there any way around this error ? does anyone know if it is possble in such a double system to have the epcs controller instantiated in both nios systems (for two seperate epcs chips)? i would prefer to try and design system in this manner in order to keep the system as close to the currently working design (as apposed to having a single epcs controller and a single larger epcs chip that could be used to configure both systems) . can anyone help me ? 

<div align='right'><{post_snapback}> (index.php?act=findpost&pid=21290) 

--- quote end ---  

 

--- Quote End ---  

 

 

I&#39;m afraid I don&#39;t have good news for you on this one. The EPCS controller was designed that way on purpose. Note that when you add one to your system no pins pop out at the top level to connect it to the outside world. The reason is because Altera FPGAs that work with EPCS support configuring from them; there is one set of dedicated pins that the FPGA can use at power-up to configure from (before Nios is even alive). The EPCS controller core in SOPC Builder expects to use these dedicated pins, and as such the verilog code the EPCS controller generates "asks" Quartus to use these special EPCS pins. 

 

What this means is that there is a limitation of exactly one EPCS controller peripheral *per chip*, at least the way the product is setup today. 

 

Of course, we are talking programmable logic. You could wire up as many EPCS chips as you wanted to general purpose IO, with the only restriction being that only one of them could confiure the FPGA per my statement above. To support this, though, would require that our EPCS controller IP had a mode to export its pins to the top, which it doesn&#39;t currently have...
0 Kudos
Reply