// ************************************************************************** // // // // eses eses // // eses eses // // eses eseses esesese eses Embedded Systems Group // // ese ese ese ese ese // // ese eseseses eseseses ese Department of Computer Science // // eses eses ese eses // // eses eseses eseseses eses University of Kaiserslautern // // eses eses // // // // ************************************************************************** // package ComputerArchitecture.AsynchronousCircuits.AsyncArbiter; module CorrectedArbiter(bool usr1_req, usr2_req, tok1_ack, tok2_ack, src_ack, usr1_ack,usr2_ack,tok1_req,tok2_req,src_req, ?del1,?del2,?del3,?del4,?del5,?del6,?del7,?del8,?del9,?del10) { bool ME_out1,ME_out2; C1 : C_Element(del1,src_ack,tok1_ack,usr1_ack); || C2 : C_Element(del2,src_ack,tok2_ack,usr2_ack); || ME : ME_Element(del3,usr1_req,usr2_req,ME_out1,ME_out2); || AND1 : AndGate(del4,ME_out1,!usr2_ack,tok1_req); || AND2 : AndGate(del5,ME_out2,!usr1_ack,tok2_req); || OR3 : OrGate(del6,tok1_ack,tok2_ack,src_req); }