Fix disambiguation for vector buses with different ranges
Previously disambiguation was looking for exact matches, but vector buses are permitted to have different ranges and still participate in merging, so they need to be disambiguated. Fixes https://gitlab.com/kicad/code/kicad/-/issues/5925
This commit is contained in:
parent
bd30a4a406
commit
61f731aa1d
eeschema
qa/eeschema
|
@ -866,6 +866,16 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
|||
wxString name = subgraph->m_driver_connection->Name( true );
|
||||
m_net_name_to_subgraphs_map[full_name].emplace_back( subgraph );
|
||||
|
||||
// For vector buses, we need to cache the prefix also, as two different instances of the
|
||||
// weakly driven pin may have the same prefix but different vector start and end. We need
|
||||
// to treat those as needing renaming also, because otherwise if they end up on a sheet with
|
||||
// common usage, they will be incorrectly merged.
|
||||
if( subgraph->m_driver_connection->Type() == CONNECTION_TYPE::BUS )
|
||||
{
|
||||
wxString prefixOnly = full_name.BeforeFirst( '[' ) + wxT( "[]" );
|
||||
m_net_name_to_subgraphs_map[prefixOnly].emplace_back( subgraph );
|
||||
}
|
||||
|
||||
subgraph->m_dirty = true;
|
||||
|
||||
if( subgraph->m_strong_driver )
|
||||
|
@ -1017,9 +1027,17 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
|||
|
||||
if( !subgraph->m_strong_driver )
|
||||
{
|
||||
auto& vec = m_net_name_to_subgraphs_map.at( name );
|
||||
std::vector<CONNECTION_SUBGRAPH*>* vec = &m_net_name_to_subgraphs_map.at( name );
|
||||
|
||||
if( vec.size() > 1 )
|
||||
// If we are a unique bus vector, check if we aren't actually unique because of another
|
||||
// subgraph with a similar bus vector
|
||||
if( vec->size() <= 1 && subgraph->m_driver_connection->Type() == CONNECTION_TYPE::BUS )
|
||||
{
|
||||
wxString prefixOnly = name.BeforeFirst( '[' ) + wxT( "[]" );
|
||||
vec = &m_net_name_to_subgraphs_map.at( prefixOnly );
|
||||
}
|
||||
|
||||
if( vec->size() > 1 )
|
||||
{
|
||||
wxString new_name = create_new_name( connection );
|
||||
|
||||
|
@ -1029,7 +1047,7 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
|||
wxLogTrace( ConnTrace, "%ld (%s) is weakly driven and not unique. Changing to %s.",
|
||||
subgraph->m_code, name, new_name );
|
||||
|
||||
vec.erase( std::remove( vec.begin(), vec.end(), subgraph ), vec.end() );
|
||||
vec->erase( std::remove( vec->begin(), vec->end(), subgraph ), vec->end() );
|
||||
|
||||
m_net_name_to_subgraphs_map[new_name].emplace_back( subgraph );
|
||||
|
||||
|
|
|
@ -0,0 +1,164 @@
|
|||
(kicad_sch (version 20200828) (generator eeschema)
|
||||
|
||||
(page 4 4)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "R" (id 0) (at 2.032 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at -1.778 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "R res resistor" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Resistor" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "R_*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "R_0_1"
|
||||
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
|
||||
(stroke (width 0.254)) (fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "R_1_1"
|
||||
(pin passive line (at 0 3.81 270) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -3.81 90) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(bus_entry (at 147.32 67.31) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus_entry (at 147.32 77.47) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus_entry (at 147.32 92.71) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus_entry (at 147.32 102.87) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(wire (pts (xy 149.86 69.85) (xy 165.1 69.85))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 149.86 80.01) (xy 165.1 80.01))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 149.86 95.25) (xy 165.1 95.25))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 149.86 105.41) (xy 165.1 105.41))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 165.1 69.85) (xy 165.1 71.12))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 165.1 78.74) (xy 165.1 80.01))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 165.1 95.25) (xy 165.1 96.52))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 165.1 104.14) (xy 165.1 105.41))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 128.27 64.77) (xy 147.32 64.77))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 128.27 90.17) (xy 147.32 90.17))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 64.77) (xy 147.32 67.31))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 67.31) (xy 147.32 77.47))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 77.47) (xy 147.32 85.09))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 90.17) (xy 147.32 92.71))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 92.71) (xy 147.32 102.87))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 147.32 102.87) (xy 147.32 110.49))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(label "A1" (at 152.4 69.85 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(label "A2" (at 152.4 80.01 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(label "D1" (at 152.4 95.25 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(label "D2" (at 152.4 105.41 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
|
||||
(hierarchical_label "A[10..0]" (shape input) (at 128.27 64.77 180)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
(hierarchical_label "D[10..0]" (shape input) (at 128.27 90.17 180)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 165.1 74.93 0) (unit 1)
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid "a8053649-8fd9-4481-b56e-122d712ddeb5")
|
||||
(property "Reference" "R3" (id 0) (at 166.878 73.787 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 166.8781 76.0793 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 163.322 74.93 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 165.1 74.93 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 165.1 100.33 0) (unit 1)
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid "2eeee84e-974a-4768-b3a0-fdfaed463e15")
|
||||
(property "Reference" "R4" (id 0) (at 166.878 99.187 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 166.8781 101.4793 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 163.322 100.33 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 165.1 100.33 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,108 @@
|
|||
(kicad_sch (version 20200828) (generator eeschema)
|
||||
|
||||
(page 2 4)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "R" (id 0) (at 2.032 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at -1.778 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "R res resistor" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Resistor" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "R_*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "R_0_1"
|
||||
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
|
||||
(stroke (width 0.254)) (fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "R_1_1"
|
||||
(pin passive line (at 0 3.81 270) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -3.81 90) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(bus_entry (at 146.05 78.74) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus_entry (at 146.05 88.9) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(wire (pts (xy 148.59 81.28) (xy 163.83 81.28))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 148.59 91.44) (xy 163.83 91.44))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 163.83 81.28) (xy 163.83 82.55))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 163.83 90.17) (xy 163.83 91.44))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 127 76.2) (xy 146.05 76.2))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 146.05 76.2) (xy 146.05 78.74))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 146.05 78.74) (xy 146.05 88.9))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 146.05 88.9) (xy 146.05 96.52))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(label "B1" (at 151.13 81.28 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(label "B2" (at 151.13 91.44 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
|
||||
(hierarchical_label "B[10..0]" (shape input) (at 127 76.2 180)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 163.83 86.36 0) (unit 1)
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid "549fed29-2fe3-4199-8781-d64e3d55522a")
|
||||
(property "Reference" "R1" (id 0) (at 165.608 85.217 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 165.6081 87.5093 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 162.052 86.36 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 163.83 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,108 @@
|
|||
(kicad_sch (version 20200828) (generator eeschema)
|
||||
|
||||
(page 3 4)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "R" (id 0) (at 2.032 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at -1.778 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "R res resistor" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Resistor" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "R_*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "R_0_1"
|
||||
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
|
||||
(stroke (width 0.254)) (fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "R_1_1"
|
||||
(pin passive line (at 0 3.81 270) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -3.81 90) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(bus_entry (at 151.13 93.98) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus_entry (at 151.13 104.14) (size 2.54 2.54)
|
||||
(stroke (width 0.1524) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(wire (pts (xy 153.67 96.52) (xy 168.91 96.52))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 153.67 106.68) (xy 168.91 106.68))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 168.91 96.52) (xy 168.91 97.79))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(wire (pts (xy 168.91 105.41) (xy 168.91 106.68))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 132.08 91.44) (xy 151.13 91.44))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 151.13 91.44) (xy 151.13 93.98))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 151.13 93.98) (xy 151.13 104.14))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 151.13 104.14) (xy 151.13 111.76))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(label "B1" (at 156.21 96.52 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(label "B2" (at 156.21 106.68 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
|
||||
(hierarchical_label "B[20..0]" (shape input) (at 132.08 91.44 180)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 168.91 101.6 0) (unit 1)
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid "2099c994-a92c-409d-a12d-82f6c93cabc6")
|
||||
(property "Reference" "R2" (id 0) (at 170.688 100.457 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 170.6881 102.7493 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 167.132 101.6 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 168.91 101.6 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "",
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
36,
|
||||
37
|
||||
],
|
||||
"visible_layers": "fffffff_ffffffff"
|
||||
},
|
||||
"meta": {
|
||||
"filename": "5925.kicad_prl",
|
||||
"version": 2
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
|
@ -0,0 +1,274 @@
|
|||
{
|
||||
"board": {
|
||||
"layer_presets": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_label_syntax": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "error",
|
||||
"no_connect_dangling": "error",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"similar_labels": "warning",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "5925.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12.0,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6.0
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"net_colors": null
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"drawing": {
|
||||
"default_bus_thickness": 12.0,
|
||||
"default_junction_size": 40.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"default_wire_thickness": 6.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.3
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"net_format_name": "Pcbnew",
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_adjust_passive_values": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"5476331a-76e1-4f09-aa87-8c73ab62dd13",
|
||||
""
|
||||
],
|
||||
[
|
||||
"911370ed-9eca-4408-af70-75f46ccb0cea",
|
||||
"Sub1"
|
||||
],
|
||||
[
|
||||
"48e15bb3-68ef-4111-84c2-95e07dc0e8bf",
|
||||
"Sub2"
|
||||
],
|
||||
[
|
||||
"b4665eb8-ef65-4980-bc76-c5100cd8fd0b",
|
||||
"Merge"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
(kicad_sch (version 20200828) (generator eeschema)
|
||||
|
||||
(page 1 4)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
|
||||
(bus (pts (xy 170.18 63.5) (xy 193.04 63.5))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 170.18 95.25) (xy 193.04 95.25))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 193.04 63.5) (xy 193.04 76.2))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 193.04 82.55) (xy 193.04 95.25))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 193.04 82.55) (xy 207.01 82.55))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
(bus (pts (xy 207.01 76.2) (xy 193.04 76.2))
|
||||
(stroke (width 0) (type solid) (color 0 0 0 0))
|
||||
)
|
||||
|
||||
(sheet (at 207.01 71.12) (size 38.1 16.51)
|
||||
(stroke (width 0) (type solid) (color 132 0 132 1))
|
||||
(fill (color 255 255 255 0.0000))
|
||||
(uuid b4665eb8-ef65-4980-bc76-c5100cd8fd0b)
|
||||
(property "Sheet name" "Merge" (id 0) (at 207.01 70.4845 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheet file" "merge.kicad_sch" (id 1) (at 207.01 88.1385 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(pin "A[10..0]" input (at 207.01 76.2 180)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(pin "D[10..0]" input (at 207.01 82.55 180)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 127 50.8) (size 43.18 29.21)
|
||||
(stroke (width 0) (type solid) (color 132 0 132 1))
|
||||
(fill (color 255 255 255 0.0000))
|
||||
(uuid 911370ed-9eca-4408-af70-75f46ccb0cea)
|
||||
(property "Sheet name" "Sub1" (id 0) (at 127 50.1645 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheet file" "sub1.kicad_sch" (id 1) (at 127 80.5185 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(pin "B[10..0]" output (at 170.18 63.5 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 128.27 85.09) (size 41.91 24.13)
|
||||
(stroke (width 0) (type solid) (color 132 0 132 1))
|
||||
(fill (color 255 255 255 0.0000))
|
||||
(uuid 48e15bb3-68ef-4111-84c2-95e07dc0e8bf)
|
||||
(property "Sheet name" "Sub2" (id 0) (at 128.27 84.4545 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheet file" "sub2.kicad_sch" (id 1) (at 128.27 109.7285 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(pin "B[20..0]" output (at 170.18 95.25 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
)
|
||||
|
||||
(symbol_instances
|
||||
(path "/911370ed-9eca-4408-af70-75f46ccb0cea/549fed29-2fe3-4199-8781-d64e3d55522a"
|
||||
(reference "R1") (unit 1) (value "R") (footprint "")
|
||||
)
|
||||
(path "/48e15bb3-68ef-4111-84c2-95e07dc0e8bf/2099c994-a92c-409d-a12d-82f6c93cabc6"
|
||||
(reference "R2") (unit 1) (value "R") (footprint "")
|
||||
)
|
||||
(path "/b4665eb8-ef65-4980-bc76-c5100cd8fd0b/a8053649-8fd9-4481-b56e-122d712ddeb5"
|
||||
(reference "R3") (unit 1) (value "R") (footprint "")
|
||||
)
|
||||
(path "/b4665eb8-ef65-4980-bc76-c5100cd8fd0b/2eeee84e-974a-4768-b3a0-fdfaed463e15"
|
||||
(reference "R4") (unit 1) (value "R") (footprint "")
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,131 @@
|
|||
(export (version "D")
|
||||
(design
|
||||
(source "/home/jon/Downloads/kicad_bugs/5925/5925.kicad_sch")
|
||||
(date "Thu 08 Oct 2020 22:18:41 EDT")
|
||||
(tool "Eeschema (5.99.0-3905-gefcf7a6f1-dirty)")
|
||||
(sheet (number "1") (name "/") (tstamps "/")
|
||||
(title_block
|
||||
(title)
|
||||
(company)
|
||||
(rev)
|
||||
(date)
|
||||
(source "5925.kicad_sch")
|
||||
(comment (number "1") (value ""))
|
||||
(comment (number "2") (value ""))
|
||||
(comment (number "3") (value ""))
|
||||
(comment (number "4") (value ""))
|
||||
(comment (number "5") (value ""))
|
||||
(comment (number "6") (value ""))
|
||||
(comment (number "7") (value ""))
|
||||
(comment (number "8") (value ""))
|
||||
(comment (number "9") (value ""))))
|
||||
(sheet (number "2") (name "/Sub1/") (tstamps "/911370ed-9eca-4408-af70-75f46ccb0cea/")
|
||||
(title_block
|
||||
(title)
|
||||
(company)
|
||||
(rev)
|
||||
(date)
|
||||
(source "sub1.kicad_sch")
|
||||
(comment (number "1") (value ""))
|
||||
(comment (number "2") (value ""))
|
||||
(comment (number "3") (value ""))
|
||||
(comment (number "4") (value ""))
|
||||
(comment (number "5") (value ""))
|
||||
(comment (number "6") (value ""))
|
||||
(comment (number "7") (value ""))
|
||||
(comment (number "8") (value ""))
|
||||
(comment (number "9") (value ""))))
|
||||
(sheet (number "3") (name "/Sub2/") (tstamps "/48e15bb3-68ef-4111-84c2-95e07dc0e8bf/")
|
||||
(title_block
|
||||
(title)
|
||||
(company)
|
||||
(rev)
|
||||
(date)
|
||||
(source "sub2.kicad_sch")
|
||||
(comment (number "1") (value ""))
|
||||
(comment (number "2") (value ""))
|
||||
(comment (number "3") (value ""))
|
||||
(comment (number "4") (value ""))
|
||||
(comment (number "5") (value ""))
|
||||
(comment (number "6") (value ""))
|
||||
(comment (number "7") (value ""))
|
||||
(comment (number "8") (value ""))
|
||||
(comment (number "9") (value ""))))
|
||||
(sheet (number "4") (name "/Merge/") (tstamps "/b4665eb8-ef65-4980-bc76-c5100cd8fd0b/")
|
||||
(title_block
|
||||
(title)
|
||||
(company)
|
||||
(rev)
|
||||
(date)
|
||||
(source "merge.kicad_sch")
|
||||
(comment (number "1") (value ""))
|
||||
(comment (number "2") (value ""))
|
||||
(comment (number "3") (value ""))
|
||||
(comment (number "4") (value ""))
|
||||
(comment (number "5") (value ""))
|
||||
(comment (number "6") (value ""))
|
||||
(comment (number "7") (value ""))
|
||||
(comment (number "8") (value ""))
|
||||
(comment (number "9") (value "")))))
|
||||
(components
|
||||
(comp (ref "R1")
|
||||
(value "R")
|
||||
(datasheet "~")
|
||||
(libsource (lib "Device") (part "R") (description "Resistor"))
|
||||
(property (name "Sheet name") (value "Sub1"))
|
||||
(property (name "Sheet file") (value "sub1.kicad_sch"))
|
||||
(sheetpath (names "/Sub1/") (tstamps "/911370ed-9eca-4408-af70-75f46ccb0cea/"))
|
||||
(tstamp "549fed29-2fe3-4199-8781-d64e3d55522a"))
|
||||
(comp (ref "R2")
|
||||
(value "R")
|
||||
(datasheet "~")
|
||||
(libsource (lib "Device") (part "R") (description "Resistor"))
|
||||
(property (name "Sheet name") (value "Sub2"))
|
||||
(property (name "Sheet file") (value "sub2.kicad_sch"))
|
||||
(sheetpath (names "/Sub2/") (tstamps "/48e15bb3-68ef-4111-84c2-95e07dc0e8bf/"))
|
||||
(tstamp "2099c994-a92c-409d-a12d-82f6c93cabc6"))
|
||||
(comp (ref "R3")
|
||||
(value "R")
|
||||
(datasheet "~")
|
||||
(libsource (lib "Device") (part "R") (description "Resistor"))
|
||||
(property (name "Sheet name") (value "Merge"))
|
||||
(property (name "Sheet file") (value "merge.kicad_sch"))
|
||||
(sheetpath (names "/Merge/") (tstamps "/b4665eb8-ef65-4980-bc76-c5100cd8fd0b/"))
|
||||
(tstamp "a8053649-8fd9-4481-b56e-122d712ddeb5"))
|
||||
(comp (ref "R4")
|
||||
(value "R")
|
||||
(datasheet "~")
|
||||
(libsource (lib "Device") (part "R") (description "Resistor"))
|
||||
(property (name "Sheet name") (value "Merge"))
|
||||
(property (name "Sheet file") (value "merge.kicad_sch"))
|
||||
(sheetpath (names "/Merge/") (tstamps "/b4665eb8-ef65-4980-bc76-c5100cd8fd0b/"))
|
||||
(tstamp "2eeee84e-974a-4768-b3a0-fdfaed463e15")))
|
||||
(libparts
|
||||
(libpart (lib "Device") (part "R")
|
||||
(description "Resistor")
|
||||
(docs "~")
|
||||
(footprints
|
||||
(fp "R_*"))
|
||||
(fields
|
||||
(field (name "Reference") "R")
|
||||
(field (name "Value") "R")
|
||||
(field (name "Datasheet") "~"))
|
||||
(pins
|
||||
(pin (num "1") (name "~") (type "passive"))
|
||||
(pin (num "2") (name "~") (type "passive")))))
|
||||
(libraries
|
||||
(library (logical "Device")
|
||||
(uri "/home/jon/kicad-library/kicad-symbols//Device.kicad_sym")))
|
||||
(nets
|
||||
(net (code "1") (name "/B1")
|
||||
(node (ref "R2") (pin "1"))
|
||||
(node (ref "R4") (pin "1")))
|
||||
(net (code "2") (name "/B1_1")
|
||||
(node (ref "R1") (pin "1"))
|
||||
(node (ref "R3") (pin "1")))
|
||||
(net (code "3") (name "/B2")
|
||||
(node (ref "R2") (pin "2"))
|
||||
(node (ref "R4") (pin "2")))
|
||||
(net (code "4") (name "/B2_1")
|
||||
(node (ref "R1") (pin "2"))
|
||||
(node (ref "R3") (pin "2")))))
|
|
@ -241,4 +241,11 @@ BOOST_AUTO_TEST_CASE( ComplexHierarchy )
|
|||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE( WeakVectorBusDisambiguation )
|
||||
{
|
||||
doNetlistTest( "weak_vector_bus_disambiguation" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
|
Loading…
Reference in New Issue