util
Modules
Ternary #(T)
module Ternary #(T) {
interface Ternary : bool cond'0, T a'0, T b'0 -> T o'0
}Equivalent to the C/Verilog cond ? a : b ternary operator. When cond is true it returns a, otherwise it returns b.
Tuple2 #(T1, T2)
module Tuple2 #(T1, T2) {
clock clk
domain clk
domain pack_dom
interface pack : T1 v1_i'0, T2 v2_i'0 -> bool[TO2] packed_o'0
domain unpack_dom
interface unpack : bool[TO2] packed_i'0 -> T1 v1_o'0, T2 v2_o'0
}Temporary module for creating and deconstructing tuples, until we have structs
Tuple3 #(T1, T2, T3)
module Tuple3 #(T1, T2, T3) {
clock clk
domain clk
domain pack_dom
interface pack : T1 v1_i'0, T2 v2_i'0, T3 v3_i'0 -> bool[TO3] packed_o'0
domain unpack_dom
interface unpack : bool[TO3] packed_i'0 -> T1 v1_o'0, T2 v2_o'0, T3 v3_o'0
}Temporary module for creating and deconstructing tuples, until we have structs
Tuple4 #(T1, T2, T3, T4)
module Tuple4 #(T1, T2, T3, T4) {
clock clk
domain clk
domain pack_dom
interface pack : T1 v1_i'0, T2 v2_i'0, T3 v3_i'0, T4 v4_i'0 -> bool[TO4] packed_o'0
domain unpack_dom
interface unpack : bool[TO4] packed_i'0 -> T1 v1_o'0, T2 v2_o'0, T3 v3_o'0, T4 v4_o'0
}Temporary module for creating and deconstructing tuples, until we have structs
Tuple5 #(T1, T2, T3, T4, T5)
module Tuple5 #(T1, T2, T3, T4, T5) {
clock clk
domain clk
domain pack_dom
interface pack : T1 v1_i'0, T2 v2_i'0, T3 v3_i'0, T4 v4_i'0, T5 v5_i'0 -> bool[TO5] packed_o'0
domain unpack_dom
interface unpack : bool[TO5] packed_i'0 -> T1 v1_o'0, T2 v2_o'0, T3 v3_o'0, T4 v4_o'0, T5 v5_o'0
}Temporary module for creating and deconstructing tuples, until we have structs