2 个不稳定版本

0.2.0 2021年9月13日
0.1.0 2021年9月7日

#1524 in 数学

Download history 5/week @ 2024-03-01 17/week @ 2024-03-29 2/week @ 2024-04-05 82/week @ 2024-06-07 9/week @ 2024-06-14

每月91次下载

MIT/Apache

12KB
263

sv4state

sv4state 是一个用于 SystemVerilog 4-state 值的 Rust 库。通过 SystemVerilog DPI 传递的 logic 值可以由这个库处理。

示例

svLogicVecVal 展示了一个 32 位的 logic 值。因此,logic [127:0] 对应于 [svLogicVecVal; 4]

use sv4state::{svLogicVecVal, Sv4State};

#[no_mangle]
pub extern "C" fn get_data(data: &[svLogicVecVal; 4]) {
    let sv_u32 = Sv4State::<u32>::from_dpi(data);
    println!("{:x}", sv_u32[0]);
    println!("{:x}", sv_u32[1]);
    println!("{:x}", sv_u32[2]);
    println!("{:x}", sv_u32[3]);
}

可以通过以下方式通过 SystemVerilog DPI 调用 get_data()

import "DPI-C" function void get_data(
  input logic [127:0] data
);

依赖项

~155KB