/********************************************** _ _ Cook Darwin __

_ descript: author : Cook.Darwin Version: VERA.0.0 creaded: 2017/4/5 madified: ***********************************************/ `timescale 1ns/1ps (* axi4 = “true” *) module axi4_direct_verb (

(* up_stream = "true" *)
axi_inf.slaver      slaver,
(* down_stream = "true" *)
axi_inf.master      master

);

generate if(slaver.MODE == “ONLY_READ” && master.MODE == “ONLY_READ”) axi4_direct #(

.MODE   ("ONLY_READ_to_ONLY_READ")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_ONLY_READ_to_ONLY_READ( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “ONLY_READ” && master.MODE == “BOTH”) axi4_direct #(

.MODE   ("ONLY_READ_to_BOTH")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_ONLY_READ_to_BOTH( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “ONLY_WRITE” && master.MODE == “BOTH”) axi4_direct #(

.MODE   ("ONLY_WRITE_to_BOTH")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_ONLY_WRITE_to_BOTH( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “ONLY_WRITE” && master.MODE == “ONLY_WRITE”) axi4_direct #(

.MODE   ("ONLY_WRITE_to_ONLY_WRITE")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_ONLY_WRITE_to_ONLY_WRITE( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “BOTH” && master.MODE == “ONLY_WRITE”) axi4_direct #(

.MODE   ("BOTH_to_ONLY_WRITE")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_BOTH_to_ONLY_WRITE( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “BOTH” && master.MODE == “ONLY_READ”) axi4_direct #(

.MODE   ("BOTH_to_ONLY_READ")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_BOTH_to_ONLY_READ( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else if(slaver.MODE == “BOTH” && master.MODE == “BOTH”) axi4_direct #(

.MODE   ("BOTH_to_BOTH")    //ONLY_READ to BOTH,ONLY_WRITE to BOTH,BOTH to BOTH,BOTH to ONLY_READ,BOTH to ONLY_WRITE

)axi4_direct_inst_BOTH_to_BOTH( /* axi_inf.slaver */ .slaver (slaver ), /* axi_inf.master */ .master (master ) ); else begin

initial begin
    $error("MODE ERROR master.MODE<%s> slaver.MODE<%s>",master.MODE,slaver.MODE);
end

end

endgenerate

endmodule