head 1.8; access; symbols arelease:1.1.1.1 avendor:1.1.1; locks; strict; comment @# @; 1.8 date 2007.03.19.12.02.53; author jcastillo; state Exp; branches; next 1.7; commitid 3cb145fe7bc14567; 1.7 date 2005.09.19.18.41.42; author jcastillo; state Exp; branches; next 1.6; commitid 6206432f064a4567; 1.6 date 2005.09.16.00.30.32; author jcastillo; state Exp; branches; next 1.5; commitid fde432a12214567; 1.5 date 2005.02.25.14.31.53; author jcastillo; state Exp; branches; next 1.4; 1.4 date 2005.02.04.12.20.04; author jcastillo; state Exp; branches; next 1.3; 1.3 date 2005.01.18.15.23.16; author jcastillo; state Exp; branches; next 1.2; 1.2 date 2004.12.20.17.48.52; author jcastillo; state Exp; branches; next 1.1; 1.1 date 2004.10.08.14.04.09; author jcastillo; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.10.08.14.04.09; author jcastillo; state Exp; branches; next ; desc @@ 1.8 log @Support for signed integers by Chris Stratford @ text @/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Authors: Pablo Huerta (pablo.huerta@@urjc.es) Javier Castillo (javier.castillo@@urjc.es) Contributors: David Moloney Harald Devos Chris Stratford INSTRUCTIONS OF USE: 1- Compiling the sources: The sc2v translator is based on lex and yacc tools. You need lex and yacc installed before trying to compile sc2v. For compiling the sources just type "make" under the directory you unzipped the fonts. It will generate three executables: sc2v_step1 and sc2v_step2 sc2v_step3. 2- Translating an SystemC module: To translate use sc2v.sh script in the /bin directory just writting sc2v.sh module_name 3- Format and restrictions of the SystemC files: - Each module must have a .h file with the declarations of ports, signals, and processes, and there must exist a .cpp file with the code of the processes. - For writing to a port or a signal you must ALWAYS use the .write() method. -Macros not fully supported. -Only data types: bool, sc_int, sc_bigint, sc_uint and sc_biguint are supported. -No global variables supported. 4- Known bugs -The usage of macros and defines may cause some errors. 5- For testing the application we recommend to use the systemcdes,systecaes and systemcmd5 cores, available at www.opencores.org. TODO: - Repair all known bugs. - Make macros fully supported. @ 1.7 log @ View ChangeLog @ text @d1 71 a71 71 /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Authors: Pablo Huerta (pablo.huerta@@urjc.es) Javier Castillo (javier.castillo@@urjc.es) Contributors: David Moloney Harald Devos INSTRUCTIONS OF USE: 1- Compiling the sources: The sc2v translator is based on lex and yacc tools. You need lex and yacc installed before trying to compile sc2v. For compiling the sources just type "make" under the directory you unzipped the fonts. It will generate three executables: sc2v_step1 and sc2v_step2 sc2v_step3. 2- Translating an SystemC module: To translate use sc2v.sh script in the /bin directory just writting sc2v.sh module_name 3- Format and restrictions of the SystemC files: - Each module must have a .h file with the declarations of ports, signals, and processes, and there must exist a .cpp file with the code of the processes. - For writing to a port or a signal you must ALWAYS use the .write() method. -Macros not fully supported. -Only data types: bool, sc_int, sc_bigint, sc_uint and sc_biguint are supported. -No global variables supported. 4- Known bugs -The usage of macros and defines may cause some errors. 5- For testing the application we recommend to use the systemcdes,systecaes and systemcmd5 cores, available at www.opencores.org. TODO: - Repair all known bugs. - Make macros fully supported. @ 1.6 log @no message @ text @d25 1 a25 1 Harald Devos @ 1.5 log @Added support for functions @ text @d19 2 a20 2 Pablo Huerta (phuerta@@opensocdesign.com) Javier Castillo (jcastillo@@opensocdesign.com) d24 1 a24 1 David Moloney a66 3 6- For any doubt, comment, or for reporting bugs, feel free to write to sc2v@@opensocdesign.com @ 1.4 log @*** empty log message *** @ text @d42 1 a42 3 The translation is done in two steps. First you must translate the .cpp file by typing: sc2v_step1 < file.cpp Second step consists in traslating the .h file: sc2v_step2 < file.h > file.v a52 2 - You cannot use functions. d64 2 a65 2 5- For testing the application we recommend to use the systemcdes or the systemcmd5 cores, both available at www.opencores.org. a73 1 - Make functions supported. @ 1.3 log @Contributions by Harald Devos @ text @d57 1 a57 2 -Macros with no parameters are supported, but may cause little problems with name of variables. Macros with parameters are not supported. @ 1.2 log @Version 0.2 @ text @d25 1 a67 8 -Using comments in switch case structures may cause errors. Specially when using structures like: case 1: //Comment here case 2: //Or comment here case 3: a68 14 Better write it like this: //Comment for 1, 2 and 3 case 1: case 2: case 3: instructions . . . instructions . . . instructions . . . A general rule would be: "Don't use comments in the same line of case or in the inmediate next line. Use comments in the line before the case statement" @ 1.1 log @Initial revision @ text @d36 1 a36 1 fonts. It will generate two executables: sc2v_step1 and sc2v_step2. a61 2 -No enumerated types supported. a65 4 -Concatenation is not yet supported. If you use concatenations like: (var1, var2), in the verilog file will appear identically, so you must replace the "(" and ")" by "{" and "}" manually. @ 1.1.1.1 log @First import @ text @@