datachoose.v

来自「FPGA上的VERILOG语言编程。通过查找表实现直接数字频率合成。在主控部分通」· Verilog 代码 · 共 35 行

V
35
字号
//datachoose.v	 	产生三角波模块   2006-5-2	version:1.0		作者:田世坤
//

module datachoose(Reset, DataSin, DataSquare, DataTriangle, DataRise, Enables, 
					DataOut);
input Reset;
input [3:0]Enables;
input [7:0] DataSin, DataSquare, DataTriangle, DataRise;
output [7:0] DataOut;
reg [7:0] DataOut;

always 
begin
	if(!Reset)
		DataOut = 8'b00000000;
	else
	begin
		case(Enables)
			4'b0001:	DataOut = DataSin;
			4'b0010:	DataOut = DataSquare;
			4'b0100:	DataOut = DataTriangle;
			4'b1000:	DataOut = DataRise;
			4'b0011:	DataOut = (DataSquare>>1) + (DataSin>>1);
			4'b0101:	DataOut = (DataTriangle>>1) + (DataSin>>1);
			4'b1001:	DataOut = (DataRise>>1) + (DataSin>>1);
			4'b0110:	DataOut = (DataTriangle>>1) + (DataSquare>>1);
			4'b1010:	DataOut = (DataRise>>1) + (DataSquare>>1);
			4'b1100:	DataOut = (DataRise>>1) + (DataTriangle>>1);
			4'b1111:	DataOut = (DataRise>>2) + (DataTriangle>>2) + (DataSquare>>2) + (DataSin>>2);
			default:	DataOut = 8'b00000000;
		endcase
	end
end

endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?