// ************************************************************************** // // // // 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; // ------------------------------------------------------- // The Muller C-element is a special circuit that is often // used in asychronous designs. When its two inputs agree, // then the output is that input, otherwise the C-element // stores its current output. // ------------------------------------------------------- module C_Element(bool ?delay,?in1,?in2,out) { out = false; loop { if(!delay) { if(in1==in2) { next(out) = in1; } else next(out) = out; } pause; } }