#include <genlib.h>

main()
{
	int i;
	DEF_LOFIG("proc");
	LOCON ("opcode[2:0]",IN,"opcode[2:0]");
	LOCON ("op1[3:0]",IN,"op1[3:0]");
	LOCON ("op2[3:0]",IN,"op2[3:0]");
	LOCON ("vdd",IN,"vdd");
	LOCON ("vss",IN,"vss");
	LOCON ("clk",IN,"clk");
	LOCON ("reset",IN,"reset");
	LOCON ("cin",IN,"cin");
	LOCON ("dout[3:0]",OUT,"dout[3:0]");
	LOCON ("data_invalid",OUT,"data_invalid");




	LOINS ("pvsse_sp", "p18", "clki", "vdde", "vdd", "vsse", "vss", 0);
  	LOINS ("pvdde_sp", "p19", "clki", "vdde", "vdd", "vsse", "vss", 0);
    	LOINS ("pvddeck_sp", "p20", "clk", "clki", "vdde", "vdd", "vsse", "vss", 0);
      	LOINS ("pvssi_sp", "p21", "clki", "vdde", "vdd", "vsse", "vss", 0);
        LOINS ("pvddi_sp", "p22", "clki", "vdde", "vdd", "vsse", "vss", 0);
	LOINS("pck_sp", "p23","clk","clki", "vdde", "vdd", "vsse", "vss", 0);
	    

	for(i=0;i<3;i++)
    		LOINS("pi_sp",NAME("p%d",i),NAME("opcde[%d]",i),NAME("opcde[%d]",i),"clki", "vdde", "vdd", "vsse", "vss", 0);
 	for (i = 0; i < 4; i++)
	 	LOINS("pi_sp", NAME("p%d", i + 3), NAME("op1[%d]", i), NAME("op1[%d]", i),"clki", "vdde", "vdd", "vsse", "vss", 0);
  
  	for (i = 0; i < 4; i++)
		LOINS("pi_sp", NAME("p%d", i + 7), NAME("op2[%d]", i), NAME("op2[%d]", i),"clki", "vdde", "vdd", "vsse", "vss", 0);
   	LOINS("pi_sp",NAME("p11"),NAME("reset"),NAME("reset"),"clki","vdde","vdd","vsse","vss",0);
   	LOINS("pi_sp",NAME("p12"),NAME("cin"),NAME("cin"),"clki","vdde","vdd","vsse","vss",0);

	for (i = 0; i < 4; i++)
		LOINS("po_sp", NAME("p%d", i + 13), NAME("dout[%d]", i),NAME("dout[%d]", i),"clki", "vdde", "vdd", "vsse", "vss", 0);
 	LOINS("po_sp",NAME("p17"),NAME("data_invalid"),NAME("data_invalid"),"clki", "vdde", "vdd", "vsse", "vss", 0);


   
         LOINS("proc", "processor","vdd","vss","clk" , "reset","cin","opcode[2:0]","op1[3:0]", "op2[3:0]", "dout","data_invalid",0);
   
  SAVE_LOFIG();
  exit(0);
}


