KMLM List
View email archives for the history of this mailing list.
|
|
|
|
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
|
|