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

📄 parallel_sn_data.v

📁 Viertex 2 开发板的接口程序
💻 V
字号:
//     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
//     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR
//     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION
//     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION
//     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS
//     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,
//     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE
//     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY
//     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE
//     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
//     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF
//     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
//     FOR A PARTICULAR PURPOSE.
//
//     (c) Copyright 2004 Xilinx, Inc.
//     All rights reserved.
//
/*
-------------------------------------------------------------------------------
-- Title      : parallel output serial number data register
-- Project    : XUP Virtex-II Pro Demonstration System
-------------------------------------------------------------------------------
-- File       : parallel_sn_data.v
-- Company    : Xilinx, Inc.
-- Created    : 2001/03/15
-- Last Update: 2001/03/15
-- Copyright  : (c) Xilinx Inc, 2001
-------------------------------------------------------------------------------
-- Uses       : 
-------------------------------------------------------------------------------
-- Used by    : onewire_master.v
-------------------------------------------------------------------------------
-- Description: This module creates the parallel 48 bit data register for the
--				serial number read from the one-wire device.
--
-------------------------------------------------------------------------------

*/
module PARALLEL_SN_DATA (clk, reset, data, enable, sn_data); 
input 			clk;
input 			reset;
input	[7:0]	data;
input 	[5:0] 	enable;
output 	[47:0]	sn_data;

reg		[47:0] sn_data;

always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[7:0] <= 8'h00;
		end
	else if (enable[0]) begin					// latch the first byte
		sn_data[7:0] <= data[7:0];
		end
	end

always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[15:8] <= 8'h00;
		end
	else if (enable[1]) begin					// latch the second byte
		sn_data[15:8] <= data[7:0];
		end
	end

always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[23:16] <= 8'h00;
		end
	else if (enable[2]) begin					// latch the third byte
		sn_data[23:16] <= data[7:0];
		end
	end

always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[31:24] <= 8'h00;
		end
	else if (enable[3]) begin					// latch the fourth byte
		sn_data[31:24] <= data[7:0];
		end
	end
always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[39:32] <= 8'h00;
		end
	else if (enable[4]) begin					// latch the fifth byte
		sn_data[39:32] <= data[7:0];
		end
	end

always @ (posedge clk or posedge reset) begin
 	if (reset) begin
		sn_data[47:40] <= 8'h00;
		end
	else if (enable[5]) begin					// latch the sixth byte
		sn_data[47:40] <= data[7:0];
		end
	end

endmodule

⌨️ 快捷键说明

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