Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit core collection
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
30
Issues
30
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit core collection
Commits
30363ccd
Commit
30363ccd
authored
Nov 30, 2017
by
Grzegorz Daniluk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fasec: fix eeprom, sfp, thermometer tristate buffers
parent
63580516
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
3202 additions
and
2993 deletions
+3202
-2993
component.xml
board/fasec/component.xml
+3013
-2846
wr_fasec_pkg.vhd
board/fasec/wr_fasec_pkg.vhd
+16
-6
wrc_board_fasec.vhd
board/fasec/wrc_board_fasec.vhd
+30
-10
xwrc_board_fasec.vhd
board/fasec/xwrc_board_fasec.vhd
+30
-36
fasec_ref_design.xdc
top/fasec_ref_design/fasec_ref_design.xdc
+14
-12
system_top.tcl
top/fasec_ref_design/system_top.tcl
+99
-83
No files found.
board/fasec/component.xml
View file @
30363ccd
This diff is collapsed.
Click to expand it.
board/fasec/wr_fasec_pkg.vhd
View file @
30363ccd
...
...
@@ -51,17 +51,27 @@ package wr_fasec_pkg is
sfp_rxp_i
:
in
std_logic
;
sfp_rxn_i
:
in
std_logic
;
sfp_det_i
:
in
std_logic
:
=
'1'
;
sfp_sda_b
:
inout
std_logic
;
sfp_scl_b
:
inout
std_logic
;
sfp_sda_i
:
in
std_logic
;
sfp_sda_o
:
out
std_logic
;
sfp_sda_t
:
out
std_logic
;
sfp_scl_i
:
in
std_logic
;
sfp_scl_o
:
out
std_logic
;
sfp_scl_t
:
out
std_logic
;
sfp_rate_select_o
:
out
std_logic
;
sfp_tx_fault_i
:
in
std_logic
:
=
'0'
;
sfp_tx_disable_o
:
out
std_logic
;
sfp_los_i
:
in
std_logic
:
=
'0'
;
eeprom_scl_b
:
inout
std_logic
;
eeprom_sda_b
:
inout
std_logic
;
eeprom_sda_i
:
in
std_logic
;
eeprom_sda_o
:
out
std_logic
;
eeprom_sda_t
:
out
std_logic
;
eeprom_scl_i
:
in
std_logic
;
eeprom_scl_o
:
out
std_logic
;
eeprom_scl_t
:
out
std_logic
;
thermo_id
:
inout
std_logic
;
thermo_id_i
:
in
std_logic
;
thermo_id_o
:
out
std_logic
;
thermo_id_t
:
out
std_logic
;
uart_rxd_i
:
in
std_logic
;
uart_txd_o
:
out
std_logic
;
...
...
board/fasec/wrc_board_fasec.vhd
View file @
30363ccd
...
...
@@ -121,8 +121,12 @@ entity wrc_board_fasec is
sfp_rx_p_i
:
in
std_logic
;
sfp_rx_n_i
:
in
std_logic
;
sfp_det_i
:
in
std_logic
:
=
'1'
;
sfp_sda_b
:
inout
std_logic
;
sfp_scl_b
:
inout
std_logic
;
sfp_sda_i
:
in
std_logic
;
sfp_sda_o
:
out
std_logic
;
sfp_sda_t
:
out
std_logic
;
sfp_scl_i
:
in
std_logic
;
sfp_scl_o
:
out
std_logic
;
sfp_scl_t
:
out
std_logic
;
sfp_rate_select_o
:
out
std_logic
;
sfp_tx_fault_i
:
in
std_logic
:
=
'0'
;
sfp_tx_disable_o
:
out
std_logic
;
...
...
@@ -131,13 +135,19 @@ entity wrc_board_fasec is
---------------------------------------------------------------------------
-- I2C EEPROM
---------------------------------------------------------------------------
eeprom_scl_b
:
inout
std_logic
;
eeprom_sda_b
:
inout
std_logic
;
eeprom_sda_i
:
in
std_logic
;
eeprom_sda_o
:
out
std_logic
;
eeprom_sda_t
:
out
std_logic
;
eeprom_scl_i
:
in
std_logic
;
eeprom_scl_o
:
out
std_logic
;
eeprom_scl_t
:
out
std_logic
;
---------------------------------------------------------------------------
-- Onewire interface
---------------------------------------------------------------------------
thermo_id
:
inout
std_logic
;
thermo_id_i
:
in
std_logic
;
thermo_id_o
:
out
std_logic
;
thermo_id_t
:
out
std_logic
;
---------------------------------------------------------------------------
-- UART
...
...
@@ -475,17 +485,27 @@ begin -- architecture struct
sfp_rxp_i
=>
sfp_rx_p_i
,
sfp_rxn_i
=>
sfp_rx_n_i
,
sfp_det_i
=>
sfp_det_i
,
sfp_sda_b
=>
sfp_sda_b
,
sfp_scl_b
=>
sfp_scl_b
,
sfp_sda_i
=>
sfp_sda_i
,
sfp_sda_o
=>
sfp_sda_o
,
sfp_sda_t
=>
sfp_sda_t
,
sfp_scl_i
=>
sfp_scl_i
,
sfp_scl_o
=>
sfp_scl_o
,
sfp_scl_t
=>
sfp_scl_t
,
sfp_rate_select_o
=>
sfp_rate_select_o
,
sfp_tx_fault_i
=>
sfp_tx_fault_i
,
sfp_tx_disable_o
=>
sfp_tx_disable_o
,
sfp_los_i
=>
sfp_los_i
,
--
eeprom_scl_b
=>
eeprom_scl_b
,
eeprom_sda_b
=>
eeprom_sda_b
,
eeprom_sda_i
=>
eeprom_sda_i
,
eeprom_sda_o
=>
eeprom_sda_o
,
eeprom_sda_t
=>
eeprom_sda_t
,
eeprom_scl_i
=>
eeprom_scl_i
,
eeprom_scl_o
=>
eeprom_scl_o
,
eeprom_scl_t
=>
eeprom_scl_t
,
--
thermo_id
=>
thermo_id
,
thermo_id_i
=>
thermo_id_i
,
thermo_id_o
=>
thermo_id_o
,
thermo_id_t
=>
thermo_id_t
,
--
uart_rxd_i
=>
uart_rxd_i
,
uart_txd_o
=>
uart_txd_o
,
...
...
board/fasec/xwrc_board_fasec.vhd
View file @
30363ccd
...
...
@@ -125,8 +125,12 @@ entity xwrc_board_fasec is
sfp_rxp_i
:
in
std_logic
;
sfp_rxn_i
:
in
std_logic
;
sfp_det_i
:
in
std_logic
:
=
'1'
;
sfp_sda_b
:
inout
std_logic
;
sfp_scl_b
:
inout
std_logic
;
sfp_sda_i
:
in
std_logic
;
sfp_sda_o
:
out
std_logic
;
sfp_sda_t
:
out
std_logic
;
sfp_scl_i
:
in
std_logic
;
sfp_scl_o
:
out
std_logic
;
sfp_scl_t
:
out
std_logic
;
sfp_rate_select_o
:
out
std_logic
;
sfp_tx_fault_i
:
in
std_logic
:
=
'0'
;
sfp_tx_disable_o
:
out
std_logic
;
...
...
@@ -135,13 +139,19 @@ entity xwrc_board_fasec is
---------------------------------------------------------------------------
-- I2C EEPROM
---------------------------------------------------------------------------
eeprom_scl_b
:
inout
std_logic
;
eeprom_sda_b
:
inout
std_logic
;
eeprom_sda_i
:
in
std_logic
;
eeprom_sda_o
:
out
std_logic
;
eeprom_sda_t
:
out
std_logic
;
eeprom_scl_i
:
in
std_logic
;
eeprom_scl_o
:
out
std_logic
;
eeprom_scl_t
:
out
std_logic
;
---------------------------------------------------------------------------
-- Onewire interface
---------------------------------------------------------------------------
thermo_id
:
inout
std_logic
;
thermo_id_i
:
in
std_logic
;
thermo_id_o
:
out
std_logic
;
thermo_id_t
:
out
std_logic
;
---------------------------------------------------------------------------
-- UART
...
...
@@ -307,18 +317,6 @@ architecture struct of xwrc_board_fasec is
signal
dac_dpll_load_p1
:
std_logic
;
signal
dac_dpll_data
:
std_logic_vector
(
15
downto
0
);
-- EEPROM
signal
eeprom_sda_out
:
std_logic
;
signal
eeprom_sda_in
:
std_logic
;
signal
eeprom_scl_out
:
std_logic
;
signal
eeprom_scl_in
:
std_logic
;
-- SFP EEPROM
signal
sfp_sda_out
:
std_logic
;
signal
sfp_sda_in
:
std_logic
;
signal
sfp_scl_out
:
std_logic
;
signal
sfp_scl_in
:
std_logic
;
-- OneWire
signal
onewire_in
:
std_logic_vector
(
1
downto
0
);
signal
onewire_en
:
std_logic_vector
(
1
downto
0
);
...
...
@@ -498,14 +496,14 @@ begin -- architecture struct
dac_dpll_data_o
=>
dac_dpll_data
,
phy16_o
=>
phy16_from_wrc
,
phy16_i
=>
phy16_to_wrc
,
scl_o
=>
eeprom_scl_
ou
t
,
scl_i
=>
eeprom_scl_i
n
,
sda_o
=>
eeprom_sda_
ou
t
,
sda_i
=>
eeprom_sda_i
n
,
sfp_scl_o
=>
sfp_scl_
ou
t
,
sfp_scl_i
=>
sfp_scl_i
n
,
sfp_sda_o
=>
sfp_sda_
ou
t
,
sfp_sda_i
=>
sfp_sda_i
n
,
scl_o
=>
eeprom_scl_t
,
scl_i
=>
eeprom_scl_i
,
sda_o
=>
eeprom_sda_t
,
sda_i
=>
eeprom_sda_i
,
sfp_scl_o
=>
sfp_scl_t
,
sfp_scl_i
=>
sfp_scl_i
,
sfp_sda_o
=>
sfp_sda_t
,
sfp_sda_i
=>
sfp_sda_i
,
sfp_det_i
=>
sfp_det_i
,
spi_sclk_o
=>
flash_sclk_o
,
spi_ncs_o
=>
flash_ncs_o
,
...
...
@@ -569,19 +567,15 @@ begin -- architecture struct
--onewire_in(0) <= onewire_i;
--onewire_in(1) <= '1';
thermo_id
<=
'0'
when
onewire_en
(
0
)
=
'1'
else
'Z'
;
onewire_in
(
0
)
<=
thermo_id
;
thermo_id_t
<=
'0'
when
onewire_en
(
0
)
=
'1'
else
'1'
;
thermo_id_o
<=
'0'
;
onewire_in
(
0
)
<=
thermo_id_i
;
onewire_in
(
1
)
<=
'1'
;
eeprom_scl_b
<=
'0'
when
eeprom_scl_out
=
'0'
else
'Z'
;
eeprom_sda_b
<=
'0'
when
eeprom_sda_out
=
'0'
else
'Z'
;
eeprom_scl_in
<=
eeprom_scl_b
;
eeprom_sda_in
<=
eeprom_sda_b
;
sfp_scl_b
<=
'0'
when
sfp_scl_out
=
'0'
else
'Z'
;
sfp_sda_b
<=
'0'
when
sfp_sda_out
=
'0'
else
'Z'
;
sfp_scl_in
<=
sfp_scl_b
;
sfp_sda_in
<=
sfp_sda_b
;
eeprom_sda_o
<=
'0'
;
eeprom_scl_o
<=
'0'
;
sfp_sda_o
<=
'0'
;
sfp_scl_o
<=
'0'
;
s00_axi_aclk_o
<=
clk_pll_62m5
;
...
...
top/fasec_ref_design/fasec_ref_design.xdc
View file @
30363ccd
...
...
@@ -20,25 +20,25 @@ set_property IOSTANDARD LVCMOS18 [get_ports pll25dac_cs_n_o]
set_property PACKAGE_PIN N7 [get_ports pll20dac_cs_n_o]
set_property IOSTANDARD LVCMOS18 [get_ports pll20dac_cs_n_o]
set_property PACKAGE_PIN J14 [get_ports eeprom_
sda_b
]
set_property IOSTANDARD LVCMOS18 [get_ports eeprom_
sda_b
]
set_property SLEW FAST [get_ports eeprom_
sda_b
]
set_property PACKAGE_PIN H14 [get_ports eeprom_
scl_b
]
set_property IOSTANDARD LVCMOS18 [get_ports eeprom_
scl_b
]
set_property SLEW FAST [get_ports eeprom_
scl_b
]
set_property PACKAGE_PIN J14 [get_ports eeprom_
i2c_sda_io
]
set_property IOSTANDARD LVCMOS18 [get_ports eeprom_
i2c_sda_io
]
set_property SLEW FAST [get_ports eeprom_
i2c_sda_io
]
set_property PACKAGE_PIN H14 [get_ports eeprom_
i2c_scl_io
]
set_property IOSTANDARD LVCMOS18 [get_ports eeprom_
i2c_scl_io
]
set_property SLEW FAST [get_ports eeprom_
i2c_scl_io
]
set_property PACKAGE_PIN K10 [get_ports thermo_id]
set_property IOSTANDARD LVCMOS18 [get_ports thermo_id]
set_property PACKAGE_PIN K10 [get_ports thermo_id
_tri_io
]
set_property IOSTANDARD LVCMOS18 [get_ports thermo_id
_tri_io
]
set_property IOSTANDARD LVCMOS25 [get_ports
SFP_sda
]
set_property PACKAGE_PIN AB17 [get_ports
SFP_sda
]
set_property IOSTANDARD LVCMOS25 [get_ports
sfp_i2c_sda_io
]
set_property PACKAGE_PIN AB17 [get_ports
sfp_i2c_sda_io
]
set_property PACKAGE_PIN G16 [get_ports SFP_rx_los]
set_property IOSTANDARD LVCMOS18 [get_ports SFP_rx_los]
set_property PACKAGE_PIN V4 [get_ports SFP_rxp]
set_property PACKAGE_PIN K15 [get_ports SFP_tx_fault]
set_property IOSTANDARD LVCMOS18 [get_ports SFP_tx_fault]
set_property PACKAGE_PIN AB16 [get_ports
SFP_scl
]
set_property IOSTANDARD LVCMOS25 [get_ports
SFP_scl
]
set_property PACKAGE_PIN AB16 [get_ports
sfp_i2c_scl_io
]
set_property IOSTANDARD LVCMOS25 [get_ports
sfp_i2c_scl_io
]
set_property PACKAGE_PIN J15 [get_ports SFP_mod_abs]
set_property IOSTANDARD LVCMOS18 [get_ports SFP_mod_abs]
set_property PACKAGE_PIN G14 [get_ports sfp_rate_select_o]
...
...
@@ -70,3 +70,5 @@ set_property IOSTANDARD LVCMOS25 [get_ports {dio_oe_n[2]}]
set_clock_groups -asynchronous -group [get_clocks clk_fpga_0] -group [get_clocks clk_sys]
top/fasec_ref_design/system_top.tcl
View file @
30363ccd
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment