Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion xdc-plugin/tests/io_loc_pairs/io_loc_pairs.golden.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
"IO_LOC_PAIRS": "signal_p:N2,signal_n:N1",
"SLEW": "FAST"
},
"OBUFT_1": {
"IOSTANDARD": "LVCMOS25",
"IO_LOC_PAIRS": "tri_top:U16",
"SLEW": "FAST"
},
"OBUF_6": {
"DRIVE": "12",
"IOSTANDARD": "LVCMOS33",
Expand All @@ -28,6 +33,10 @@
"IO_LOC_PAIRS": "out_a:E3",
"SLEW": "FAST"
},
"bottom_inst.OBUFT_2": {
"IOSTANDARD": "LVCMOS33",
"IO_LOC_PAIRS": "tri_bottom:E19"
},
"bottom_inst.OBUF_10": {
"IOSTANDARD": "LVCMOS18",
"IO_LOC_PAIRS": "out_b[0]:C2",
Expand All @@ -50,4 +59,4 @@
"IO_LOC_PAIRS": "led[3]:N4",
"SLEW": "SLOW"
}
}
}
26 changes: 23 additions & 3 deletions xdc-plugin/tests/io_loc_pairs/io_loc_pairs.v
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ module top (
output tx_n,
output tx_p,
input ibufds_gte2_i,
input ibufds_gte2_ib
input ibufds_gte2_ib,
output tri_top,
output tri_bottom
);

wire LD6, LD7, LD8, LD9;
Expand Down Expand Up @@ -77,7 +79,10 @@ module top (
bottom bottom_inst (
.I (LD8),
.O (led[2]),
.OB(out_b)
.OB(out_b),
.in_tri(LD7),
.t_tri(LD8),
.out_tri(tri_bottom)
);

bottom_intermediate bottom_intermediate_inst (
Expand All @@ -97,6 +102,12 @@ module top (
.I (ibufds_gte2_i),
.IB(ibufds_gte2_ib)
);

OBUFT OBUFT_1 (
.I(LD6),
.T(LD7),
.O(tri_top)
);
endmodule

module bottom_intermediate (
Expand All @@ -119,7 +130,10 @@ endmodule
module bottom (
input I,
output [1:0] OB,
output O
output O,
input in_tri,
input t_tri,
output out_tri
);

OBUF #(
Expand All @@ -145,4 +159,10 @@ module bottom (
.I(I),
.O(OB[1])
);

OBUFT OBUFT_2 (
.I(in_tri),
.T(t_tri),
.O(out_tri)
);
endmodule
9 changes: 9 additions & 0 deletions xdc-plugin/tests/io_loc_pairs/io_loc_pairs.xdc
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,12 @@ set_property LOC G4 [get_ports {tx_n}]
# IBUFDS_GTE2
set_property LOC G5 [get_ports {ibufds_gte2_i}]
set_property LOC G6 [get_ports {ibufds_gte2_ib}]

# OBUFT_1
set_property SLEW FAST [get_ports tri_top]
set_property LOC U16 [get_ports tri_top]
set_property IOSTANDARD LVCMOS25 [get_ports tri_top]

# OBUFT_2
set_property LOC E19 [get_ports tri_bottom]
set_property IOSTANDARD LVCMOS33 [get_ports tri_bottom]
1 change: 1 addition & 0 deletions xdc-plugin/xdc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ const std::unordered_map<std::string, SetPropertyOptions> set_property_options_m
// corresponding PADs
const std::unordered_map<std::string, std::vector<std::string>> supported_primitive_parameters = {
{"OBUF", {"IO_LOC_PAIRS", "IOSTANDARD", "DRIVE", "SLEW", "IN_TERM"}},
{"OBUFT", {"IO_LOC_PAIRS", "IOSTANDARD", "DRIVE", "SLEW", "IN_TERM"}},
{"OBUFDS", {"IO_LOC_PAIRS", "IOSTANDARD", "SLEW", "IN_TERM"}},
{"OBUFTDS", {"IO_LOC_PAIRS", "IOSTANDARD", "SLEW", "IN_TERM"}},
{"IBUF", {"IO_LOC_PAIRS", "IOSTANDARD"}},
Expand Down