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

Subversion Repositories ha1588

[/] [ha1588/] [trunk/] [rtl/] [top/] [ha1588.v] - Blame information for rev 32

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

Line No. Rev Author Line
1 18 edn_walter
`timescale 1ns/1ns
2
 
3
module ha1588 (
4
  input         rst,clk,
5
  input         wr_in,rd_in,
6 21 edn_walter
  input  [ 7:0] addr_in,
7 18 edn_walter
  input  [31:0] data_in,
8
  output [31:0] data_out,
9
 
10 32 edn_walter
  input         rtc_clk,
11
  output [31:0] rtc_time_ptp_ns,
12
  output [47:0] rtc_time_ptp_sec,
13 18 edn_walter
 
14
  input       rx_gmii_clk,
15
  input       rx_gmii_ctrl,
16
  input [7:0] rx_gmii_data,
17
  input       tx_gmii_clk,
18
  input       tx_gmii_ctrl,
19
  input [7:0] tx_gmii_data
20
);
21
 
22
wire rtc_rst;
23
wire rtc_time_ld, rtc_period_ld, rtc_adj_ld;
24
wire [37:0] rtc_time_reg_ns;
25
wire [47:0] rtc_time_reg_sec;
26
wire [39:0] rtc_period;
27
wire [37:0] rtc_time_acc_modulo;
28
wire [31:0] rtc_adj_ld_data;
29
wire [39:0] rtc_period_adj;
30
wire [37:0] rtc_time_reg_ns_val;
31
wire [47:0] rtc_time_reg_sec_val;
32 32 edn_walter
wire [79:0] rtc_time_ptp_val = {rtc_time_ptp_sec[47:0], rtc_time_ptp_ns[31:0]};
33 18 edn_walter
 
34
wire rx_q_rst, rx_q_clk;
35
wire rx_q_rd_en;
36
wire [ 7:0] rx_q_stat;
37 27 edn_walter
wire [63:0] rx_q_data;
38 18 edn_walter
wire tx_q_rst, tx_q_clk;
39
wire tx_q_rd_en;
40
wire [ 7:0] tx_q_stat;
41 27 edn_walter
wire [63:0] tx_q_data;
42 18 edn_walter
 
43
rgs u_rgs
44
(
45
  .rst(rst),
46
  .clk(clk),
47
  .wr_in(wr_in),
48
  .rd_in(rd_in),
49
  .addr_in(addr_in),
50
  .data_in(data_in),
51
  .data_out(data_out),
52
  .rtc_clk_in(rtc_clk),
53
  .rtc_rst_out(rtc_rst),
54
  .time_ld_out(rtc_time_ld),
55
  .time_reg_ns_out(rtc_time_reg_ns),
56
  .time_reg_sec_out(rtc_time_reg_sec),
57
  .period_ld_out(rtc_period_ld),
58
  .period_out(rtc_period),
59
  .time_acc_modulo_out(rtc_time_acc_modulo),
60
  .adj_ld_out(rtc_adj_ld),
61
  .adj_ld_data_out(rtc_adj_ld_data),
62
  .period_adj_out(rtc_period_adj),
63
  .time_reg_ns_in(rtc_time_reg_ns_val),
64
  .time_reg_sec_in(rtc_time_reg_sec_val),
65
  .rx_q_rst_out(rx_q_rst),
66
  .rx_q_rd_clk_out(rx_q_clk),
67
  .rx_q_rd_en_out(rx_q_rd_en),
68
  .rx_q_stat_in(rx_q_stat),
69
  .rx_q_data_in(rx_q_data),
70
  .tx_q_rst_out(tx_q_rst),
71
  .tx_q_rd_clk_out(tx_q_clk),
72
  .tx_q_rd_en_out(tx_q_rd_en),
73
  .tx_q_stat_in(tx_q_stat),
74
  .tx_q_data_in(tx_q_data)
75
);
76
 
77
rtc u_rtc
78
(
79
  .rst(rtc_rst),
80
  .clk(rtc_clk),
81
  .time_ld(rtc_time_ld),
82
  .time_reg_ns_in(rtc_time_reg_ns),
83
  .time_reg_sec_in(rtc_time_reg_sec),
84
  .period_ld(rtc_period_ld),
85
  .period_in(rtc_period),
86
  .time_acc_modulo(rtc_time_acc_modulo),
87
  .adj_ld(rtc_adj_ld),
88
  .adj_ld_data(rtc_adj_ld_data),
89
  .period_adj(rtc_period_adj),
90
  .time_reg_ns(rtc_time_reg_ns_val),
91 32 edn_walter
  .time_reg_sec(rtc_time_reg_sec_val),
92
  .time_ptp_ns(rtc_time_ptp_ns),
93
  .time_ptp_sec(rtc_time_ptp_sec)
94 18 edn_walter
);
95
 
96
tsu u_rx_tsu
97
(
98
  .rst(rst),
99
  .gmii_clk(rx_gmii_clk),
100
  .gmii_ctrl(rx_gmii_ctrl),
101
  .gmii_data(rx_gmii_data),
102
  .rtc_timer_clk(rtc_clk),
103 32 edn_walter
  .rtc_timer_in(rtc_time_ptp_val),
104 18 edn_walter
  .q_rst(rx_q_rst),
105
  .q_rd_clk(rx_q_clk),
106
  .q_rd_en(rx_q_rd_en),
107
  .q_rd_stat(rx_q_stat),
108
  .q_rd_data(rx_q_data)
109
);
110
 
111
tsu u_tx_tsu
112
(
113
  .rst(rst),
114
  .gmii_clk(tx_gmii_clk),
115
  .gmii_ctrl(tx_gmii_ctrl),
116
  .gmii_data(tx_gmii_data),
117
  .rtc_timer_clk(rtc_clk),
118 32 edn_walter
  .rtc_timer_in(rtc_time_ptp_val),
119 18 edn_walter
  .q_rst(tx_q_rst),
120
  .q_rd_clk(tx_q_clk),
121
  .q_rd_en(tx_q_rd_en),
122
  .q_rd_stat(tx_q_stat),
123
  .q_rd_data(tx_q_data)
124
);
125
 
126
endmodule

powered by: WebSVN 2.1.0

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