00001 #include "types.h"
00002
00003 nnode_t *make_not_gate_with_input(npin_t *input_pin, nnode_t *node, short mark);
00004 nnode_t *make_1port_logic_gate_with_inputs(operation_list type, int width, signal_list_t *pin_list, nnode_t *node, short mark);
00005 nnode_t *make_2port_logic_gates_with_inputs(operation_list type, int width_port1, signal_list_t *pin_list1, int width_port2, signal_list_t *pin_list2, nnode_t *node, short mark);
00006
00007 nnode_t *make_not_gate(nnode_t *node, short mark);
00008 nnode_t *make_1port_logic_gate(operation_list type, int width, nnode_t *node, short mark);
00009
00010 nnode_t *make_1port_gate(operation_list type, int width_input, int width_output, nnode_t *node, short mark);
00011 nnode_t *make_2port_gate(operation_list type, int width_port1, int width_port2, int width_output, nnode_t *node, short mark);
00012 nnode_t *make_3port_gate(operation_list type, int width_port1, int width_port2, int width_port3, int width_output, nnode_t *node, short mark);
00013
00014 npin_t *get_a_zero_pin();
00015 npin_t *get_a_one_pin();
00016
00017
00018 char *node_name_based_on_op(nnode_t *node);
00019 char *node_name(nnode_t *node, char *instance_prefix_name);
00020 char *hard_node_name(nnode_t *node, char *instance_name_prefix, char *hb_name, char *hb_inst);
00021 nnode_t *make_mult_block(nnode_t *node, short mark);