📄 ssn.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 : Silicon Serial Number One Wire Interface
Project : XUP Virtex-II Pro Development System
-------------------------------------------------------------------------------
File : SSN.v
Company : Xilinx, Inc.
Created : 2004/08/12
Last Update: 2004/08/12
Copyright : (c) Xilinx Inc, 2004
-------------------------------------------------------------------------------
Uses : HEX_2_ASCII.v ONEWIRE_IFACE.v
-------------------------------------------------------------------------------
Used by :
-------------------------------------------------------------------------------
Description: This module interfaces to the one wire Silicon Serial Number
and converts the 48bit hex value to ASCII digits for display
by the character mode video.
Conventions:
All external port signals are UPPER CASE.
All internal signals are LOWER CASE and are active HIGH.
-------------------------------------------------------------------------------
*/
module SILICON_SERIAL_NUMBER (
pixel_clock,
reset,
SSN_DATA,
sn_1,
sn_2,
sn_3,
sn_4,
sn_5,
sn_6,
sn_7,
sn_8,
sn_9,
sn_10,
sn_11,
sn_12,
sn_data
);
input pixel_clock;
input reset;
inout SSN_DATA; // one wire interface
output [7:0] sn_1; // Silicon Serial Number as ASCII digits
output [7:0] sn_2;
output [7:0] sn_3;
output [7:0] sn_4;
output [7:0] sn_5;
output [7:0] sn_6;
output [7:0] sn_7;
output [7:0] sn_8;
output [7:0] sn_9;
output [7:0] sn_10;
output [7:0] sn_11;
output [7:0] sn_12;
output [47:0] sn_data;
wire dq = SSN_DATA;
wire [47:0] sn_data; // Silicon Serial Number as hex data
wire [7:0] one_wire_data;
wire data_valid;
wire crc_ok;
// instantiate the one wire interface
ONEWIRE_IFACE ONEWIRE_IFACE (
pixel_clock,
reset,
dq,
one_wire_data,
data_valid,
crc_ok,
sn_data);
// convert the hex serial number to ascii
HEX_2_ASCII DIGIT_12(sn_data[47:44],sn_12[7:0]);
HEX_2_ASCII DIGIT_11(sn_data[43:40],sn_11[7:0]);
HEX_2_ASCII DIGIT_10(sn_data[39:36],sn_10[7:0]);
HEX_2_ASCII DIGIT_9(sn_data[35:32],sn_9[7:0]);
HEX_2_ASCII DIGIT_8(sn_data[31:28],sn_8[7:0]);
HEX_2_ASCII DIGIT_7(sn_data[27:24],sn_7[7:0]);
HEX_2_ASCII DIGIT_6(sn_data[23:20],sn_6[7:0]);
HEX_2_ASCII DIGIT_5(sn_data[19:16],sn_5[7:0]);
HEX_2_ASCII DIGIT_4(sn_data[15:12],sn_4[7:0]);
HEX_2_ASCII DIGIT_3(sn_data[11:8],sn_3[7:0]);
HEX_2_ASCII DIGIT_2(sn_data[7:4],sn_2[7:0]);
HEX_2_ASCII DIGIT_1(sn_data[3:0],sn_1[7:0]);
endmodule //SILICON_SERIAL_NUMBER
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -