Skip Nav
Home » Forums » SystemC Forum

Icon - KMLM List KMLM List

View email archives for the history of this mailing list.

List Home All Archives Dates Threads Authors Subjects
systemc-forum - Re: [systemc-forum] Please help Message Thread: Previous | Next
  • To: Hamidreza Hosseini <hamid166262@xxxxxxxxx>
  • From: David C Black <dcblack@xxxxxxxxxxxxxx>
  • Date: Wed, 21 Oct 2009 07:24:06 -0500
  • Cc: SystemC forum <systemc-forum@xxxxxxxxxxxxxxxxx>
Send Email to systemc-forum@lists.systemc.org:
Send new message
Reply to this message
Additional clarification:

sc_signal<> is a channel. Not a data type. Channels perform synchronization tasks for communication in SystemC. Channels and modules are effectively hardware elements and can only be created during elaboration (i.e. before simulation starts) when the design is being connected up. On the other hand variables of type sc_logic, int or sc_int<>, are not subject to this restriction.

On Oct 21, 2009, at 1:46 AM, Philipp A. Hartmann wrote:

* PGP Signed by an unknown key

Hi,

On 20/10/09 23:45, Hamidreza Hosseini wrote:

Error: (E113) insert primitive channel failed: simulation running
In file: sc_prim_channel.cpp:166
In process: 4BitsAdder.operation @ 0 s
-------------------------------------------

although you haven't shown the code of your 4-bit adder, I guess you
have a local variable of type 'sc_signal<...>' inside your
SC_METHOD(operation) in the FOUR_BITS_ADDER module.

This is not allowed. You can use plain variables inside your processes.
If you need additional channels/signals, these should become members of
the module.

Greetings from Oldenburg,
Philipp


My sc_main() is as below:

int sc_main(int, char*[])
{
   FOUR_BITS_ADDER fourBitsAdder("4BitsAdder");
   sc_signal< sc_lv<NUMBER_OF_BITS> > in1, in2;
   sc_signal<sc_logic> cin;
   sc_signal< sc_lv<NUMBER_OF_BITS+1> > out;

   fourBitsAdder.in1(in1);
   fourBitsAdder.in2(in2);
   fourBitsAdder.cin(cin);
   fourBitsAdder.out(out);

   in1 = "0010";
   in2 = "0001";
   cin = (sc_logic) '1';

   sc_start(20, SC_SEC);

   return 0;
}

Can anyone help me?



--
Philipp A. Hartmann
Hardware/Software Design Methodology Group

OFFIS
R&D Division Transportation | FuE-Bereich Verkehr
Escherweg 2 · 26121 Oldenburg · Germany
Phone/Fax: +49-441-9722-420/282 · PGP: 0x9161A5C0 · http://www.offis.de/


* Unknown Key
* 0x9161A5C0


------------------------------------------------------
David C Black, XtremeEDA ESL Practice Leader
http://www.Xtreme-EDA.com
(Consulting, Services & Training for all your ESL, verification and DFT needs)
Voice: 512.850.4322 Skype:dcblack FAX: 888.467.4609


By Date: Previous | Next Current Thread By Thread: Previous | Next