[−][src]Crate xbar
Rust implementation of the algorithm described in the conference paper "A locality preserving one-sided binary tree - crossbar switch wiring design algorithm" published in [2015 49th Annual Conference on Information Sciences and Systems (CISS)] (https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=7075844).
"One-sided crossbar switches allow for a simple implementation of complete
K_n
graphs. However, designing these circuits is a cumbersome process and can be automated. We present an algorithm that allows designing automatic one-sided binary tree - crossbar switches which do not exceedfloor(n/2)
columns, and achievesK_n
graph without connecting any wires between any three adjacent blocks, thus preserving locality in connections."
Example usage:
use xbar::Crossbar as X; pub fn main() { let n = 5; println!("Crossbar for {} terminals has {} rows, \ formed into {} blocks; and {} columns", n, X::rows(n), X::blocks(n), X::columns(n)); println!("Connections of the crossbar:"); for con in X::new(n) { println!("{:#?}", con); } }
produces the output:
Crossbar for 5 terminals has 20 rows, formed into 4 blocks; and 2 columns
Connections of the crossbar:
Connection {
start: Position {
block_idx: 0,
row_idx: 0,
abs_idx: 0
},
end: Position {
block_idx: 0,
row_idx: 1,
abs_idx: 1
},
col_idx: 0
}
...
Reference
Sahin, Devrim. "A locality preserving one-sided binary tree - crossbar switch wiring design algorithm." Information Sciences and Systems (CISS), 2015 49th Annual Conference on. IEEE, 2015.
Bibtex
@inproceedings{dsahin2015crossbar,
title={A locality preserving one-sided binary tree - crossbar switch wiring design algorithm},
author={{\c{S}}ahin, Devrim},
booktitle={Information Sciences and Systems (CISS), 2015 49th Annual Conference on},
pages={1--4},
year={2015},
organization={IEEE}
}
Structs
Connection | A |
Crossbar | Core struct of the crate. |
Position | A |