⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prep1.v

📁 多个Verilog和vhdl程序例子
💻 V
字号:
// PREP Benchmark #1, Data Path

/* PREP1 contains a 4-to-1 mux, 8 bit register and 8 bit shift register

Copyright (c) 1994 Synplicity, Inc.
You may distribute freely, as long as this header remains attached. */

module prep1(Q, CLK, RST, S_L, S1, S0, d0, d1, d2, d3);
output [7:0] Q;
input CLK, RST, S_L;
input S1, S0;
input [7:0] d0, d1, d2, d3;

reg [7:0] Y, q_reg, Q;  // q_reg is output from 8-bit register


always @(S1 or S0 or d0 or d1 or d2 or d3)
begin
	case ({S1, S0})		// 4-to-1 mux
		2'b00: Y = d0;
		2'b01: Y = d1;
		2'b10: Y = d2;
		2'b11: Y = d3;
	endcase
end

always @(posedge CLK or posedge RST)
begin
	 if (RST) begin
   		q_reg = 0; 	// reset register
   		Q = 0; 		// reset shift register
	end else if (S_L) begin
   		Q[7:0] = {Q[6:0],Q[7]}; // shift register
   		q_reg = Y;
	end else begin
   		Q = q_reg; 	// load from register
   		q_reg = Y; 	// load from mux
	end
end
endmodule

⌨️ 快捷键说明

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