OpenCores
URL https://opencores.org/ocsvn/instruction_list_pipelined_processor_with_peripherals/instruction_list_pipelined_processor_with_peripherals/trunk

Subversion Repositories instruction_list_pipelined_processor_with_peripherals

[/] [instruction_list_pipelined_processor_with_peripherals/] [trunk/] [hdl/] [outputReg.v] - Rev 8

Go to most recent revision | Compare with Previous | Blame | View Log

 
`include "timescale.v"
`include "defines.v"
 
 
module outputReg (reset, outputRw, outputRwAddr, outputWriteIn, outputReadOut, outputs);
 
	input reset, outputRw;
	input [`outputAddrLen-1:0] outputRwAddr;
	input outputWriteIn;
 
	output outputReadOut;
	output [`outputNumber-1:0] outputs;
 
	reg outputReadOut;
	reg [`outputNumber-1:0] outputs = 0;
	reg [`outputNumber-1 :0] outputReg = 0;
 
 
 
	always @ (reset or outputRw or outputRwAddr or outputWriteIn or outputReg)
	begin
 
		if (reset)
		begin
			outputReadOut = 1'bz;
			$write ("\nmodule outputRegister is reset	");
		end
 
		else
		begin
 
			outputs = outputReg;
 
			if (outputRw)	// read output status
			begin
				outputReadOut = outputReg[outputRwAddr];
//				$write ("\nreading output register	:	module outputRegister	");
			end
			else				// write operation
			begin
				outputReg[outputRwAddr] = outputWriteIn;
//				$write ("\nwriting to the output register	:	module outputRegister	");
			end
 
		end
 
	end
 
 
endmodule
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.