28 Commits

Author SHA1 Message Date
Alex Forencich
a2294c56a5 Rewrite gain scheduling
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-12-01 22:02:40 -08:00
Alex Forencich
5560fa2b32 Fix timestamp capture/sync logic
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-11-30 14:05:16 -08:00
Alex Forencich
01badce3a1 Remove unnecessary resets
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-11-01 18:30:32 -07:00
Alex Forencich
90e6dfc638 Use phase detector in PTP CDC module for coarse period tuning, use 9 LSBs of timestamp for fine sync to avoid rollover corrections, reduce FNS comparison width to 4 bits
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-23 14:58:44 -07:00
Alex Forencich
f9ae6da8bd Improve PTP CDC module testbench
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-23 14:33:14 -07:00
Alex Forencich
5a37442706 Merge FNS registers into NS registers in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-22 22:52:59 -07:00
Alex Forencich
b0a4d75fd9 Remove extraneous code
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-22 01:08:01 -07:00
Alex Forencich
4a32c86f07 Match integrator width to period register width in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-22 01:07:43 -07:00
Alex Forencich
cf441f004d Rename source sync signals in PTP CDC module for consistency
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-22 01:07:12 -07:00
Alex Forencich
4b1f48ab5b Parameter clean-up in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-21 16:34:05 -07:00
Alex Forencich
aad30d09a1 Make FNS_WIDTH an internal parameter in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-21 16:30:29 -07:00
Alex Forencich
98b4fbb56d Remove USE_SAMPLE_CLOCK parameter in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-09-18 16:58:02 -07:00
Alex Forencich
c1e947dc3d Timing optimization of PTP modules
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-07-22 22:57:44 -07:00
Alex Forencich
db881ed551 Remove magic numbers
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-07-22 18:39:21 -07:00
Alex Forencich
4a16c9070b Fix mixed assignments
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-07-22 01:24:22 -07:00
Alex Forencich
7cb15647e7 Better handling of integrator saturation in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-05-16 23:15:31 -07:00
Alex Forencich
d96d5dfba0 Fix clock active detection in PTP CDC module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-05-16 23:13:36 -07:00
Alex Forencich
7e5f6a2589 Remove extraneous code
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-05-16 18:54:29 -07:00
Alex Forencich
6f2d581d62 Add output pipeline to PTP clock CDC module 2022-03-27 23:47:14 -07:00
Alex Forencich
108c02d721 Simplify logic in PTP clock CDC module 2022-03-16 19:01:17 -07:00
Alex Forencich
6b18e56cb1 Add default_nettype none and resetall directives 2021-10-20 17:29:12 -07:00
Alex Forencich
2796e681c9 Prevent latch inference 2021-03-30 22:23:40 -07:00
Alex Forencich
31c7349f90 Rewrite PTP clock CDC module for improved performance and timing closure at 25G 2021-03-30 15:57:46 -07:00
Alex Forencich
b26f923c2f Reset synchronizers 2019-07-18 18:35:30 -07:00
Alex Forencich
adb9c4d147 Fix initial values 2019-07-18 18:35:11 -07:00
Alex Forencich
cc1ff34f53 Add 64 bit timestamp support to ptp_clock_cdc 2019-07-15 16:36:02 -07:00
Alex Forencich
31cb54e67e Make old icarus verilog happy 2019-07-15 16:15:50 -07:00
Alex Forencich
77bae7a77e Add PTP clock CDC module and testbench 2019-07-15 15:16:17 -07:00