URL
https://opencores.org/ocsvn/sc2v/sc2v/trunk
Subversion Repositories sc2v
[/] [sc2v/] [tags/] [arelease/] [src/] [list.h] - Rev 39
Go to most recent revision | Compare with Previous | Blame | View Log
/* ----------------------------------------------------------------------------- * * SystemC to Verilog Translator v0.1 * Provided by OpenSoc Design * * www.opensocdesign.com * * ----------------------------------------------------------------------------- * 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. */ typedef struct _define_node { char *name; struct _define_node *next; } DefineNode; typedef struct _defines_list { DefineNode *first; DefineNode *last; } DefinesList; typedef struct _write_node { char *name; struct _write_node *next; } WriteNode; typedef struct _writes_list { WriteNode *first; WriteNode *last; } WritesList; typedef struct _reg_node { char *name; char *name2; struct _reg_node *next; } RegNode; typedef struct _regs_list { RegNode *first; RegNode *last; } RegsList; typedef struct _port_node { char *name; char *tipo; int size; struct _port_node *next; } PortNode; typedef struct _port_list { PortNode *first; PortNode *last; } PortList; typedef struct _signal_node { char *name; int size; struct _signal_node *next; } SignalNode; typedef struct _signals_list { SignalNode *first; SignalNode *last; } SignalsList; typedef struct _bind_node { char *nameport; char *namebind; struct _bind_node *next; } BindNode; typedef struct _binds_list { BindNode *first; BindNode *last; } BindsList; typedef struct _instance_node { char *nameinstance; char *namemodulo; BindsList *bindslist; struct _instance_node *next; } InstanceNode; typedef struct _instances_list { InstanceNode *first; InstanceNode *last; } InstancesList; typedef struct _sensibility_node { char *tipo; char *name; struct _sensibility_node *next; } SensibilityNode; typedef struct _sensibility_list { SensibilityNode *first; SensibilityNode *last; } SensibilityList; typedef struct _process_node { char *name; char *tipo; //comb or seq SensibilityList *list; struct _process_node *next; } ProcessNode; typedef struct _process_list { ProcessNode *first; ProcessNode *last; } ProcessList; /* Functions for DEFINES list*/ void InitializeDefinesList(DefinesList *list); void InsertDefine(DefinesList *list, char *name); int IsDefine(DefinesList *list, char *name); void ShowDefines(char *filedefines); /* Functions for WRITES list*/ void InitializeWritesList(WritesList *list); void InsertWrite(WritesList *list, char *name); int IsWrite(WritesList *list, char *name); void ShowRegsList(RegsList *list); void ReadWritesFile(WritesList *list, char *name); /* Functions for registers list*/ void InitializeRegsList(RegsList *list); void InsertReg(RegsList *list, char *name, char *name2); char *IsReg(RegsList *list, char *name); void ShowRegsList(RegsList *list); /* Functions for ports list*/ void InitializePortList(PortList *list); void InsertPort(PortList *list, char *name, char *tipo, int size); void ShowPortList(PortList *list); void EnumeratePorts(PortList *list); /* Functions for signals list*/ void InitializeSignalsList(SignalsList *list); void InsertSignal(SignalsList *list, char *name, int size); void ShowSignalsList(SignalsList *list, WritesList *WritesList); int IsWire(char *name, InstancesList *list); /* Functions for sensitivity list*/ void InitializeSensibilityList(SensibilityList *list); void InsertSensibility(SensibilityList *list, char *name, char *tipo); void ShowSensibilityList(SensibilityList *list); /* Functions for process list*/ void InsertProcess(ProcessList *list, char *name, SensibilityList *SensibilityList, char *tipo); void ShowProcessList(ProcessList *list); void ShowProcessCode(ProcessList *list); /* Functions for instances and binds list*/ void InitializeInstancesList(InstancesList *list); void InsertInstance(InstancesList *list, char *nameInstance, char *namemodulo); void InitializeBindsList(BindsList *list); void InsertBind(BindsList *list, char *namePort, char *namebind); void ShowInstancedModules(InstancesList *list);
Go to most recent revision | Compare with Previous | Blame | View Log