Skip to content

Instantly share code, notes, and snippets.

@Ravenslofty
Last active July 14, 2019 23:04
Show Gist options
  • Save Ravenslofty/64f0cc065d74c8c81c738f957c6e0e05 to your computer and use it in GitHub Desktop.
Save Ravenslofty/64f0cc065d74c8c81c738f957c6e0e05 to your computer and use it in GitHub Desktop.
use std::{
io,
path::{Path, PathBuf},
process::Command,
};
use tempfile;
// use regex;
pub enum OsType {
Linux,
Windows,
}
pub struct Quartus {
path: PathBuf,
verilog_files: Vec<PathBuf>,
}
impl Quartus {
pub fn new<T: AsRef<Path>>(path: &T, force_os: Option<OsType>) -> Option<Self> {
// force_os is for using Quartus Windows under WSL.
#[cfg(windows)]
let os = force_os.unwrap_or(OsType::Windows);
#[cfg(unix)]
let os = force_os.unwrap_or(OsType::Linux);
let path: &Path = path.as_ref();
let extension = match os {
OsType::Windows => String::from("exe"),
OsType::Linux => String::from(""),
};
if !path.join("quartus_sh").with_extension(&extension).exists() {
println!(
"Couldn't find {}",
path.join("quartus_sh").with_extension(&extension).display()
);
return None;
}
Some(Quartus {
path: path.to_owned(),
verilog_files: Vec::new(),
})
}
pub fn add_verilog(mut self, paths: Vec<PathBuf>) -> Self {
for path in paths {
self.verilog_files.push(path);
}
self
}
pub fn run_tcl(&self, cmd: &str, script: &str) -> io::Result<Vec<String>> {
use io::Write;
let mut tempfile = tempfile::NamedTempFile::new()?;
tempfile.as_file_mut().write_all(script.as_bytes())?;
let (_, path) = tempfile.into_parts();
let cmd = Command::new(self.path.join(cmd))
.arg("-t")
.arg(&path)
.output()?;
let lines = String::from_utf8(cmd.stdout)
.unwrap()
.lines()
.filter(|line| !line.contains("Info") && !line.contains("Error"))
.map(String::from)
.collect::<Vec<String>>();
Ok(lines)
}
}
mod tests {
#[test]
pub fn get_part_list() -> Result<(), Box<::std::error::Error>> {
use crate::{OsType, Quartus};
use std::fmt::Write;
let q = Quartus::new(
&"/mnt/d/intelFPGA_lite/18.1/quartus/bin64/",
Some(OsType::Windows),
)
.unwrap();
let lines = q.run_tcl("quartus_cdb.exe", "puts [get_part_list]")?;
assert!(lines.len() > 0);
for line in lines {
let mut cmd = String::new();
for part in line.split_whitespace() {
writeln!(
cmd,
"puts [get_part_info -family -device -package -pin_count {} ]",
part
)?;
}
let data = q.run_tcl("quartus_cdb.exe", &cmd)?;
for (metadata, part) in data.iter().zip(line.split_whitespace()) {
println!("{}: {}", part, metadata);
}
}
Ok(())
}
}
Compiling quartus v0.1.0 (/home/lofty/cyclonev/fuzz/quartus)
Finished dev [unoptimized + debuginfo] target(s) in 1.41s
Running /home/lofty/cyclonev/fuzz/quartus/target/debug/deps/quartus-41769cee8f137ad6
running 1 test
5CGXFC3B6F23C6: {Cyclone V} 5CGXFC3 FBGA 484
5CGXFC3B6F23C7: {Cyclone V} 5CGXFC3 FBGA 484
5CGXFC3B6F23I7: {Cyclone V} 5CGXFC3 FBGA 484
5CGXFC3B7F23C8: {Cyclone V} 5CGXFC3 FBGA 484
5CGXFC3B6U15C6: {Cyclone V} 5CGXFC3 UFBGA 324
5CGXFC3B6U15A7: {Cyclone V} 5CGXFC3 UFBGA 324
5CGXFC3B6U15C7: {Cyclone V} 5CGXFC3 UFBGA 324
5CGXFC3B6U15I7: {Cyclone V} 5CGXFC3 UFBGA 324
5CGXFC3B7U15C8: {Cyclone V} 5CGXFC3 UFBGA 324
5CGXFC3B6U19C6: {Cyclone V} 5CGXFC3 UFBGA 484
5CGXFC3B6U19A7: {Cyclone V} 5CGXFC3 UFBGA 484
5CGXFC3B6U19C7: {Cyclone V} 5CGXFC3 UFBGA 484
5CGXFC3B6U19I7: {Cyclone V} 5CGXFC3 UFBGA 484
5CGXFC3B7U19C8: {Cyclone V} 5CGXFC3 UFBGA 484
5CGXBC3B6F23C7: {Cyclone V} 5CGXBC3 FBGA 484
5CGXBC3B7F23C8: {Cyclone V} 5CGXBC3 FBGA 484
5CGXBC3B6U15C7: {Cyclone V} 5CGXBC3 UFBGA 324
5CGXBC3B7U15C8: {Cyclone V} 5CGXBC3 UFBGA 324
5CGXBC3B6U19C7: {Cyclone V} 5CGXBC3 UFBGA 484
5CGXBC3B7U19C8: {Cyclone V} 5CGXBC3 UFBGA 484
5CEFA4F23C6: {Cyclone V} 5CEFA4 FBGA 484
5CEFA4F23C7: {Cyclone V} 5CEFA4 FBGA 484
5CEFA4F23I7: {Cyclone V} 5CEFA4 FBGA 484
5CEFA4F23C8: {Cyclone V} 5CEFA4 FBGA 484
5CEFA4M13C6: {Cyclone V} 5CEFA4 MBGA 383
5CEFA4M13C7: {Cyclone V} 5CEFA4 MBGA 383
5CEFA4M13I7: {Cyclone V} 5CEFA4 MBGA 383
5CEFA4M13C8: {Cyclone V} 5CEFA4 MBGA 383
5CEFA4U19C6: {Cyclone V} 5CEFA4 UFBGA 484
5CEFA4U19A7: {Cyclone V} 5CEFA4 UFBGA 484
5CEFA4U19C7: {Cyclone V} 5CEFA4 UFBGA 484
5CEFA4U19I7: {Cyclone V} 5CEFA4 UFBGA 484
5CEFA4U19C8: {Cyclone V} 5CEFA4 UFBGA 484
5CEBA4F17C6: {Cyclone V} 5CEBA4 FBGA 256
5CEBA4F17C7: {Cyclone V} 5CEBA4 FBGA 256
5CEBA4F17A7: {Cyclone V} 5CEBA4 FBGA 256
5CEBA4F17I7: {Cyclone V} 5CEBA4 FBGA 256
5CEBA4F17C8: {Cyclone V} 5CEBA4 FBGA 256
5CEBA4F23C7: {Cyclone V} 5CEBA4 FBGA 484
5CEBA4F23C8: {Cyclone V} 5CEBA4 FBGA 484
5CEBA4U15C6: {Cyclone V} 5CEBA4 UFBGA 324
5CEBA4U15C7: {Cyclone V} 5CEBA4 UFBGA 324
5CEBA4U15I7: {Cyclone V} 5CEBA4 UFBGA 324
5CEBA4U15C8: {Cyclone V} 5CEBA4 UFBGA 324
5CEBA4U19C7: {Cyclone V} 5CEBA4 UFBGA 484
5CEBA4U19C8: {Cyclone V} 5CEBA4 UFBGA 484
5CEFA2F23C6: {Cyclone V} 5CEFA2 FBGA 484
5CEFA2F23C7: {Cyclone V} 5CEFA2 FBGA 484
5CEFA2F23I7: {Cyclone V} 5CEFA2 FBGA 484
5CEFA2F23C8: {Cyclone V} 5CEFA2 FBGA 484
5CEFA2M13C6: {Cyclone V} 5CEFA2 MBGA 383
5CEFA2M13C7: {Cyclone V} 5CEFA2 MBGA 383
5CEFA2M13I7: {Cyclone V} 5CEFA2 MBGA 383
5CEFA2M13C8: {Cyclone V} 5CEFA2 MBGA 383
5CEFA2U19C6: {Cyclone V} 5CEFA2 UFBGA 484
5CEFA2U19A7: {Cyclone V} 5CEFA2 UFBGA 484
5CEFA2U19C7: {Cyclone V} 5CEFA2 UFBGA 484
5CEFA2U19I7: {Cyclone V} 5CEFA2 UFBGA 484
5CEFA2U19C8: {Cyclone V} 5CEFA2 UFBGA 484
5CEBA2F17C6: {Cyclone V} 5CEBA2 FBGA 256
5CEBA2F17C7: {Cyclone V} 5CEBA2 FBGA 256
5CEBA2F17A7: {Cyclone V} 5CEBA2 FBGA 256
5CEBA2F17I7: {Cyclone V} 5CEBA2 FBGA 256
5CEBA2F17C8: {Cyclone V} 5CEBA2 FBGA 256
5CEBA2F23C7: {Cyclone V} 5CEBA2 FBGA 484
5CEBA2F23C8: {Cyclone V} 5CEBA2 FBGA 484
5CEBA2U15C6: {Cyclone V} 5CEBA2 UFBGA 324
5CEBA2U15C7: {Cyclone V} 5CEBA2 UFBGA 324
5CEBA2U15I7: {Cyclone V} 5CEBA2 UFBGA 324
5CEBA2U15C8: {Cyclone V} 5CEBA2 UFBGA 324
5CEBA2U19C7: {Cyclone V} 5CEBA2 UFBGA 484
5CEBA2U19C8: {Cyclone V} 5CEBA2 UFBGA 484
5CGTFD5C5F23C7: {Cyclone V} 5CGTFD5 FBGA 484
5CGTFD5C5F23I7: {Cyclone V} 5CGTFD5 FBGA 484
5CGTFD5C5F27C7: {Cyclone V} 5CGTFD5 FBGA 672
5CGTFD5C5F27I7: {Cyclone V} 5CGTFD5 FBGA 672
5CGTFD5F5M11C7: {Cyclone V} 5CGTFD5 MBGA 301
5CGTFD5F5M11I7: {Cyclone V} 5CGTFD5 MBGA 301
5CGTFD5C5M13C7: {Cyclone V} 5CGTFD5 MBGA 383
5CGTFD5C5M13I7: {Cyclone V} 5CGTFD5 MBGA 383
5CGTFD5C5U19A7: {Cyclone V} 5CGTFD5 UFBGA 484
5CGTFD5C5U19C7: {Cyclone V} 5CGTFD5 UFBGA 484
5CGTFD5C5U19I7: {Cyclone V} 5CGTFD5 UFBGA 484
5CGXFC5C6F23C6: {Cyclone V} 5CGXFC5 FBGA 484
5CGXFC5C6F23C7: {Cyclone V} 5CGXFC5 FBGA 484
5CGXFC5C6F23I7: {Cyclone V} 5CGXFC5 FBGA 484
5CGXFC5C6F23A7: {Cyclone V} 5CGXFC5 FBGA 484
5CGXFC5C7F23C8: {Cyclone V} 5CGXFC5 FBGA 484
5CGXFC5C6F27C6: {Cyclone V} 5CGXFC5 FBGA 672
5CGXFC5C6F27C7: {Cyclone V} 5CGXFC5 FBGA 672
5CGXFC5C6F27I7: {Cyclone V} 5CGXFC5 FBGA 672
5CGXFC5C7F27C8: {Cyclone V} 5CGXFC5 FBGA 672
5CGXFC5F6M11C6: {Cyclone V} 5CGXFC5 MBGA 301
5CGXFC5F6M11C7: {Cyclone V} 5CGXFC5 MBGA 301
5CGXFC5F6M11I7: {Cyclone V} 5CGXFC5 MBGA 301
5CGXFC5F7M11C8: {Cyclone V} 5CGXFC5 MBGA 301
5CGXFC5C6M13C6: {Cyclone V} 5CGXFC5 MBGA 383
5CGXFC5C6M13C7: {Cyclone V} 5CGXFC5 MBGA 383
5CGXFC5C6M13I7: {Cyclone V} 5CGXFC5 MBGA 383
5CGXFC5C7M13C8: {Cyclone V} 5CGXFC5 MBGA 383
5CGXFC5C6U19C6: {Cyclone V} 5CGXFC5 UFBGA 484
5CGXFC5C6U19A7: {Cyclone V} 5CGXFC5 UFBGA 484
5CGXFC5C6U19C7: {Cyclone V} 5CGXFC5 UFBGA 484
5CGXFC5C6U19I7: {Cyclone V} 5CGXFC5 UFBGA 484
5CGXFC5C7U19C8: {Cyclone V} 5CGXFC5 UFBGA 484
5CGXBC5C6F23C7: {Cyclone V} 5CGXBC5 FBGA 484
5CGXBC5C7F23C8: {Cyclone V} 5CGXBC5 FBGA 484
5CGXBC5C6F27C7: {Cyclone V} 5CGXBC5 FBGA 672
5CGXBC5C7F27C8: {Cyclone V} 5CGXBC5 FBGA 672
5CGXBC5C6U19C7: {Cyclone V} 5CGXBC5 UFBGA 484
5CGXBC5C7U19C8: {Cyclone V} 5CGXBC5 UFBGA 484
5CGXFC4C6F23C6: {Cyclone V} 5CGXFC4 FBGA 484
5CGXFC4C6F23C7: {Cyclone V} 5CGXFC4 FBGA 484
5CGXFC4C6F23I7: {Cyclone V} 5CGXFC4 FBGA 484
5CGXFC4C7F23C8: {Cyclone V} 5CGXFC4 FBGA 484
5CGXFC4C6F27C6: {Cyclone V} 5CGXFC4 FBGA 672
5CGXFC4C6F27C7: {Cyclone V} 5CGXFC4 FBGA 672
5CGXFC4C6F27I7: {Cyclone V} 5CGXFC4 FBGA 672
5CGXFC4C7F27C8: {Cyclone V} 5CGXFC4 FBGA 672
5CGXFC4F6M11C6: {Cyclone V} 5CGXFC4 MBGA 301
5CGXFC4F6M11C7: {Cyclone V} 5CGXFC4 MBGA 301
5CGXFC4F6M11I7: {Cyclone V} 5CGXFC4 MBGA 301
5CGXFC4F7M11C8: {Cyclone V} 5CGXFC4 MBGA 301
5CGXFC4C6M13C6: {Cyclone V} 5CGXFC4 MBGA 383
5CGXFC4C6M13C7: {Cyclone V} 5CGXFC4 MBGA 383
5CGXFC4C6M13I7: {Cyclone V} 5CGXFC4 MBGA 383
5CGXFC4C7M13C8: {Cyclone V} 5CGXFC4 MBGA 383
5CGXFC4C6U19C6: {Cyclone V} 5CGXFC4 UFBGA 484
5CGXFC4C6U19A7: {Cyclone V} 5CGXFC4 UFBGA 484
5CGXFC4C6U19C7: {Cyclone V} 5CGXFC4 UFBGA 484
5CGXFC4C6U19I7: {Cyclone V} 5CGXFC4 UFBGA 484
5CGXFC4C7U19C8: {Cyclone V} 5CGXFC4 UFBGA 484
5CGXBC4C6F23C7: {Cyclone V} 5CGXBC4 FBGA 484
5CGXBC4C7F23C8: {Cyclone V} 5CGXBC4 FBGA 484
5CGXBC4C6F27C7: {Cyclone V} 5CGXBC4 FBGA 672
5CGXBC4C7F27C8: {Cyclone V} 5CGXBC4 FBGA 672
5CGXBC4C6U19C7: {Cyclone V} 5CGXBC4 UFBGA 484
5CGXBC4C7U19C8: {Cyclone V} 5CGXBC4 UFBGA 484
5CEFA5F23C6: {Cyclone V} 5CEFA5 FBGA 484
5CEFA5F23C7: {Cyclone V} 5CEFA5 FBGA 484
5CEFA5F23I7: {Cyclone V} 5CEFA5 FBGA 484
5CEFA5F23C8: {Cyclone V} 5CEFA5 FBGA 484
5CEFA5M13C6: {Cyclone V} 5CEFA5 MBGA 383
5CEFA5M13C7: {Cyclone V} 5CEFA5 MBGA 383
5CEFA5M13I7: {Cyclone V} 5CEFA5 MBGA 383
5CEFA5M13C8: {Cyclone V} 5CEFA5 MBGA 383
5CEFA5U19C6: {Cyclone V} 5CEFA5 UFBGA 484
5CEFA5U19A7: {Cyclone V} 5CEFA5 UFBGA 484
5CEFA5U19C7: {Cyclone V} 5CEFA5 UFBGA 484
5CEFA5U19I7: {Cyclone V} 5CEFA5 UFBGA 484
5CEFA5U19C8: {Cyclone V} 5CEFA5 UFBGA 484
5CEBA5F23C7: {Cyclone V} 5CEBA5 FBGA 484
5CEBA5F23C8: {Cyclone V} 5CEBA5 FBGA 484
5CEBA5U19C7: {Cyclone V} 5CEBA5 UFBGA 484
5CEBA5U19C8: {Cyclone V} 5CEBA5 UFBGA 484
5CGTFD7C5F23C7: {Cyclone V} 5CGTFD7 FBGA 484
5CGTFD7C5F23I7: {Cyclone V} 5CGTFD7 FBGA 484
5CGTFD7D5F27C7: {Cyclone V} 5CGTFD7 FBGA 672
5CGTFD7D5F27I7: {Cyclone V} 5CGTFD7 FBGA 672
5CGTFD7D5F31C7: {Cyclone V} 5CGTFD7 FBGA 896
5CGTFD7D5F31I7: {Cyclone V} 5CGTFD7 FBGA 896
5CGTFD7B5M15C7: {Cyclone V} 5CGTFD7 MBGA 484
5CGTFD7B5M15I7: {Cyclone V} 5CGTFD7 MBGA 484
5CGTFD7C5U19C7: {Cyclone V} 5CGTFD7 UFBGA 484
5CGTFD7C5U19I7: {Cyclone V} 5CGTFD7 UFBGA 484
5CGTFD7C5U19A7: {Cyclone V} 5CGTFD7 UFBGA 484
5CGXFC7C6F23C6: {Cyclone V} 5CGXFC7 FBGA 484
5CGXFC7C6F23C7: {Cyclone V} 5CGXFC7 FBGA 484
5CGXFC7C6F23I7: {Cyclone V} 5CGXFC7 FBGA 484
5CGXFC7C7F23C8: {Cyclone V} 5CGXFC7 FBGA 484
5CGXFC7D6F27C6: {Cyclone V} 5CGXFC7 FBGA 672
5CGXFC7D6F27C7: {Cyclone V} 5CGXFC7 FBGA 672
5CGXFC7D6F27I7: {Cyclone V} 5CGXFC7 FBGA 672
5CGXFC7D7F27C8: {Cyclone V} 5CGXFC7 FBGA 672
5CGXFC7D6F31C6: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7D6F31A7: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7D6F31C7: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7D6F31I7: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7D6F31C7ES: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7D7F31C8: {Cyclone V} 5CGXFC7 FBGA 896
5CGXFC7B6M15C6: {Cyclone V} 5CGXFC7 MBGA 484
5CGXFC7B6M15C7: {Cyclone V} 5CGXFC7 MBGA 484
5CGXFC7B6M15I7: {Cyclone V} 5CGXFC7 MBGA 484
5CGXFC7B7M15C8: {Cyclone V} 5CGXFC7 MBGA 484
5CGXFC7C6U19C6: {Cyclone V} 5CGXFC7 UFBGA 484
5CGXFC7C6U19C7: {Cyclone V} 5CGXFC7 UFBGA 484
5CGXFC7C6U19I7: {Cyclone V} 5CGXFC7 UFBGA 484
5CGXFC7C6U19A7: {Cyclone V} 5CGXFC7 UFBGA 484
5CGXFC7C7U19C8: {Cyclone V} 5CGXFC7 UFBGA 484
5CGXBC7C6F23C7: {Cyclone V} 5CGXBC7 FBGA 484
5CGXBC7C7F23C8: {Cyclone V} 5CGXBC7 FBGA 484
5CGXBC7D6F27C7: {Cyclone V} 5CGXBC7 FBGA 672
5CGXBC7D7F27C8: {Cyclone V} 5CGXBC7 FBGA 672
5CGXBC7D6F31C7: {Cyclone V} 5CGXBC7 FBGA 896
5CGXBC7D7F31C8: {Cyclone V} 5CGXBC7 FBGA 896
5CGXBC7B6M15C7: {Cyclone V} 5CGXBC7 MBGA 484
5CGXBC7B7M15C8: {Cyclone V} 5CGXBC7 MBGA 484
5CGXBC7C6U19C7: {Cyclone V} 5CGXBC7 UFBGA 484
5CGXBC7C7U19C8: {Cyclone V} 5CGXBC7 UFBGA 484
5CEFA7F23C6: {Cyclone V} 5CEFA7 FBGA 484
5CEFA7F23C7: {Cyclone V} 5CEFA7 FBGA 484
5CEFA7F23I7: {Cyclone V} 5CEFA7 FBGA 484
5CEFA7F23C8: {Cyclone V} 5CEFA7 FBGA 484
5CEFA7F27C6: {Cyclone V} 5CEFA7 FBGA 672
5CEFA7F27C7: {Cyclone V} 5CEFA7 FBGA 672
5CEFA7F27I7: {Cyclone V} 5CEFA7 FBGA 672
5CEFA7F27C8: {Cyclone V} 5CEFA7 FBGA 672
5CEFA7F31C6: {Cyclone V} 5CEFA7 FBGA 896
5CEFA7F31C7: {Cyclone V} 5CEFA7 FBGA 896
5CEFA7F31I7: {Cyclone V} 5CEFA7 FBGA 896
5CEFA7F31I7ES: {Cyclone V} 5CEFA7 FBGA 896
5CEFA7F31C8: {Cyclone V} 5CEFA7 FBGA 896
5CEFA7M15C6: {Cyclone V} 5CEFA7 MBGA 484
5CEFA7M15C7: {Cyclone V} 5CEFA7 MBGA 484
5CEFA7M15I7: {Cyclone V} 5CEFA7 MBGA 484
5CEFA7M15C8: {Cyclone V} 5CEFA7 MBGA 484
5CEFA7U19C6: {Cyclone V} 5CEFA7 UFBGA 484
5CEFA7U19C7: {Cyclone V} 5CEFA7 UFBGA 484
5CEFA7U19I7: {Cyclone V} 5CEFA7 UFBGA 484
5CEFA7U19A7: {Cyclone V} 5CEFA7 UFBGA 484
5CEFA7U19C8: {Cyclone V} 5CEFA7 UFBGA 484
5CEBA7F23C7: {Cyclone V} 5CEBA7 FBGA 484
5CEBA7F23C8: {Cyclone V} 5CEBA7 FBGA 484
5CEBA7F27C7: {Cyclone V} 5CEBA7 FBGA 672
5CEBA7F27C8: {Cyclone V} 5CEBA7 FBGA 672
5CEBA7F31C7: {Cyclone V} 5CEBA7 FBGA 896
5CEBA7F31C8: {Cyclone V} 5CEBA7 FBGA 896
5CEBA7M15C7: {Cyclone V} 5CEBA7 MBGA 484
5CEBA7M15C8: {Cyclone V} 5CEBA7 MBGA 484
5CEBA7U19C7: {Cyclone V} 5CEBA7 UFBGA 484
5CEBA7U19C8: {Cyclone V} 5CEBA7 UFBGA 484
5CGTFD9C5F23C7: {Cyclone V} 5CGTFD9 FBGA 484
5CGTFD9C5F23I7: {Cyclone V} 5CGTFD9 FBGA 484
5CGTFD9D5F27C7: {Cyclone V} 5CGTFD9 FBGA 672
5CGTFD9D5F27I7: {Cyclone V} 5CGTFD9 FBGA 672
5CGTFD9E5F31I7: {Cyclone V} 5CGTFD9 FBGA 896
5CGTFD9E5F31C7: {Cyclone V} 5CGTFD9 FBGA 896
5CGTFD9E5F35C7: {Cyclone V} 5CGTFD9 FBGA 1152
5CGTFD9E5F35I7: {Cyclone V} 5CGTFD9 FBGA 1152
5CGTFD9A5U19A7: {Cyclone V} 5CGTFD9 UFBGA 484
5CGTFD9A5U19C7: {Cyclone V} 5CGTFD9 UFBGA 484
5CGTFD9A5U19I7: {Cyclone V} 5CGTFD9 UFBGA 484
5CGXFC9C6F23C7: {Cyclone V} 5CGXFC9 FBGA 484
5CGXFC9C6F23I7: {Cyclone V} 5CGXFC9 FBGA 484
5CGXFC9C7F23C8: {Cyclone V} 5CGXFC9 FBGA 484
5CGXFC9D6F27C7: {Cyclone V} 5CGXFC9 FBGA 672
5CGXFC9D6F27I7: {Cyclone V} 5CGXFC9 FBGA 672
5CGXFC9D7F27C8: {Cyclone V} 5CGXFC9 FBGA 672
5CGXFC9E6F31C7: {Cyclone V} 5CGXFC9 FBGA 896
5CGXFC9E6F31I7: {Cyclone V} 5CGXFC9 FBGA 896
5CGXFC9E7F31C8: {Cyclone V} 5CGXFC9 FBGA 896
5CGXFC9E6F35I7: {Cyclone V} 5CGXFC9 FBGA 1152
5CGXFC9E6F35C7: {Cyclone V} 5CGXFC9 FBGA 1152
5CGXFC9E7F35C8: {Cyclone V} 5CGXFC9 FBGA 1152
5CGXFC9A6U19A7: {Cyclone V} 5CGXFC9 UFBGA 484
5CGXFC9A6U19C7: {Cyclone V} 5CGXFC9 UFBGA 484
5CGXFC9A6U19I7: {Cyclone V} 5CGXFC9 UFBGA 484
5CGXFC9A7U19C8: {Cyclone V} 5CGXFC9 UFBGA 484
5CGXBC9C6F23C7: {Cyclone V} 5CGXBC9 FBGA 484
5CGXBC9C7F23C8: {Cyclone V} 5CGXBC9 FBGA 484
5CGXBC9D6F27C7: {Cyclone V} 5CGXBC9 FBGA 672
5CGXBC9D7F27C8: {Cyclone V} 5CGXBC9 FBGA 672
5CGXBC9E6F31C7: {Cyclone V} 5CGXBC9 FBGA 896
5CGXBC9E7F31C8: {Cyclone V} 5CGXBC9 FBGA 896
5CGXBC9E6F35C7: {Cyclone V} 5CGXBC9 FBGA 1152
5CGXBC9E7F35C8: {Cyclone V} 5CGXBC9 FBGA 1152
5CGXBC9A6U19C7: {Cyclone V} 5CGXBC9 UFBGA 484
5CGXBC9A7U19C8: {Cyclone V} 5CGXBC9 UFBGA 484
5CEFA9F23C7: {Cyclone V} 5CEFA9 FBGA 484
5CEFA9F23I7: {Cyclone V} 5CEFA9 FBGA 484
5CEFA9F23C8: {Cyclone V} 5CEFA9 FBGA 484
5CEFA9F27C7: {Cyclone V} 5CEFA9 FBGA 672
5CEFA9F27I7: {Cyclone V} 5CEFA9 FBGA 672
5CEFA9F27C8: {Cyclone V} 5CEFA9 FBGA 672
5CEFA9F31I7: {Cyclone V} 5CEFA9 FBGA 896
5CEFA9F31C7: {Cyclone V} 5CEFA9 FBGA 896
5CEFA9F31C8: {Cyclone V} 5CEFA9 FBGA 896
5CEFA9U19A7: {Cyclone V} 5CEFA9 UFBGA 484
5CEFA9U19C7: {Cyclone V} 5CEFA9 UFBGA 484
5CEFA9U19I7: {Cyclone V} 5CEFA9 UFBGA 484
5CEFA9U19C8: {Cyclone V} 5CEFA9 UFBGA 484
5CEBA9F23C7: {Cyclone V} 5CEBA9 FBGA 484
5CEBA9F23C8: {Cyclone V} 5CEBA9 FBGA 484
5CEBA9F27C7: {Cyclone V} 5CEBA9 FBGA 672
5CEBA9F27C8: {Cyclone V} 5CEBA9 FBGA 672
5CEBA9F31C7: {Cyclone V} 5CEBA9 FBGA 896
5CEBA9F31C8: {Cyclone V} 5CEBA9 FBGA 896
5CEBA9U19C7: {Cyclone V} 5CEBA9 UFBGA 484
5CEBA9U19C8: {Cyclone V} 5CEBA9 UFBGA 484
5CSXFC6D6F31C6: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31C7: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31I7: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31I7ES: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31A7: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31C8: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6D6F31C8ES: {Cyclone V} 5CSXFC6 FBGA 896
5CSXFC6C6U23C6: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23A7: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23C7: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23I7: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23I7L: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23I7ES: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23C8: {Cyclone V} 5CSXFC6 UFBGA 672
5CSXFC6C6U23C8ES: {Cyclone V} 5CSXFC6 UFBGA 672
5CSTFD6D5F31I7: {Cyclone V} 5CSTFD6 FBGA 896
5CSEMA6F31C6: {Cyclone V} 5CSEMA6 FBGA 896
5CSEMA6F31A7: {Cyclone V} 5CSEMA6 FBGA 896
5CSEMA6F31C7: {Cyclone V} 5CSEMA6 FBGA 896
5CSEMA6F31I7: {Cyclone V} 5CSEMA6 FBGA 896
5CSEMA6F31C8: {Cyclone V} 5CSEMA6 FBGA 896
5CSEMA6U23C6: {Cyclone V} 5CSEMA6 UFBGA 672
5CSEMA6U23A7: {Cyclone V} 5CSEMA6 UFBGA 672
5CSEMA6U23C7: {Cyclone V} 5CSEMA6 UFBGA 672
5CSEMA6U23I7: {Cyclone V} 5CSEMA6 UFBGA 672
5CSEMA6U23C8: {Cyclone V} 5CSEMA6 UFBGA 672
5CSEBA6U19C6: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19A7: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19C7: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19I7ES: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19I7: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19I7L: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19I7DK: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19C8: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U19C8ES: {Cyclone V} 5CSEBA6 UFBGA 484
5CSEBA6U23C6: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23A7: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23C7: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23I7: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23I7L: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23I7DK: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U23C8: {Cyclone V} 5CSEBA6 UFBGA 672
5CSEBA6U19C7S: {Cyclone V} 5CSEBA6S UFBGA 484
5CSEBA6U19I7S: {Cyclone V} 5CSEBA6S UFBGA 484
5CSEBA6U19C8S: {Cyclone V} 5CSEBA6S UFBGA 484
5CSEBA6U23C7S: {Cyclone V} 5CSEBA6S UFBGA 672
5CSEBA6U23I7S: {Cyclone V} 5CSEBA6S UFBGA 672
5CSEBA6U23C8S: {Cyclone V} 5CSEBA6S UFBGA 672
5CSXFC5D6F31C6: {Cyclone V} 5CSXFC5 FBGA 896
5CSXFC5D6F31C7: {Cyclone V} 5CSXFC5 FBGA 896
5CSXFC5D6F31I7: {Cyclone V} 5CSXFC5 FBGA 896
5CSXFC5D6F31C8: {Cyclone V} 5CSXFC5 FBGA 896
5CSXFC5C6U23C6: {Cyclone V} 5CSXFC5 UFBGA 672
5CSXFC5C6U23A7: {Cyclone V} 5CSXFC5 UFBGA 672
5CSXFC5C6U23C7: {Cyclone V} 5CSXFC5 UFBGA 672
5CSXFC5C6U23I7: {Cyclone V} 5CSXFC5 UFBGA 672
5CSXFC5C6U23I7L: {Cyclone V} 5CSXFC5 UFBGA 672
5CSXFC5C6U23C8: {Cyclone V} 5CSXFC5 UFBGA 672
5CSTFD5D5F31I7: {Cyclone V} 5CSTFD5 FBGA 896
5CSEMA5F31C6: {Cyclone V} 5CSEMA5 FBGA 896
5CSEMA5F31A7: {Cyclone V} 5CSEMA5 FBGA 896
5CSEMA5F31C7: {Cyclone V} 5CSEMA5 FBGA 896
5CSEMA5F31I7: {Cyclone V} 5CSEMA5 FBGA 896
5CSEMA5F31C8: {Cyclone V} 5CSEMA5 FBGA 896
5CSEMA5U23A7: {Cyclone V} 5CSEMA5 UFBGA 672
5CSEMA5U23C7: {Cyclone V} 5CSEMA5 UFBGA 672
5CSEMA5U23C8: {Cyclone V} 5CSEMA5 UFBGA 672
5CSEBA5U19C6: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U19A7: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U19C7: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U19I7: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U19I7L: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U19C8: {Cyclone V} 5CSEBA5 UFBGA 484
5CSEBA5U23C7: {Cyclone V} 5CSEBA5 UFBGA 672
5CSEBA5U23I7L: {Cyclone V} 5CSEBA5 UFBGA 672
5CSEBA5U23C8: {Cyclone V} 5CSEBA5 UFBGA 672
5CSEBA5U19C7S: {Cyclone V} 5CSEBA5S UFBGA 484
5CSEBA5U19I7S: {Cyclone V} 5CSEBA5S UFBGA 484
5CSEBA5U19C8S: {Cyclone V} 5CSEBA5S UFBGA 484
5CSEBA5U23C7S: {Cyclone V} 5CSEBA5S UFBGA 672
5CSEBA5U23I7S: {Cyclone V} 5CSEBA5S UFBGA 672
5CSEBA5U23C8S: {Cyclone V} 5CSEBA5S UFBGA 672
5CSXFC4C6U23A7: {Cyclone V} 5CSXFC4 UFBGA 672
5CSXFC4C6U23I7L: {Cyclone V} 5CSXFC4 UFBGA 672
5CSEMA4U23C6: {Cyclone V} 5CSEMA4 UFBGA 672
5CSEMA4U23A7: {Cyclone V} 5CSEMA4 UFBGA 672
5CSEMA4U23C7: {Cyclone V} 5CSEMA4 UFBGA 672
5CSEMA4U23I7: {Cyclone V} 5CSEMA4 UFBGA 672
5CSEMA4U23C8: {Cyclone V} 5CSEMA4 UFBGA 672
5CSEBA4U19C6: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U19A7: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U19C7: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U19I7: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U19I7L: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U19C8: {Cyclone V} 5CSEBA4 UFBGA 484
5CSEBA4U23C6: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U23A7: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U23C7: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U23I7: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U23I7L: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U23C8: {Cyclone V} 5CSEBA4 UFBGA 672
5CSEBA4U19C7S: {Cyclone V} 5CSEBA4S UFBGA 484
5CSEBA4U19I7S: {Cyclone V} 5CSEBA4S UFBGA 484
5CSEBA4U19C8S: {Cyclone V} 5CSEBA4S UFBGA 484
5CSEBA4U23C7S: {Cyclone V} 5CSEBA4S UFBGA 672
5CSEBA4U23I7S: {Cyclone V} 5CSEBA4S UFBGA 672
5CSEBA4U23C8S: {Cyclone V} 5CSEBA4S UFBGA 672
5CSXFC2C6U23C6: {Cyclone V} 5CSXFC2 UFBGA 672
5CSXFC2C6U23A7: {Cyclone V} 5CSXFC2 UFBGA 672
5CSXFC2C6U23C7: {Cyclone V} 5CSXFC2 UFBGA 672
5CSXFC2C6U23I7: {Cyclone V} 5CSXFC2 UFBGA 672
5CSXFC2C6U23I7L: {Cyclone V} 5CSXFC2 UFBGA 672
5CSXFC2C6U23C8: {Cyclone V} 5CSXFC2 UFBGA 672
5CSEMA2U23C6: {Cyclone V} 5CSEMA2 UFBGA 672
5CSEMA2U23A7: {Cyclone V} 5CSEMA2 UFBGA 672
5CSEMA2U23C7: {Cyclone V} 5CSEMA2 UFBGA 672
5CSEMA2U23I7: {Cyclone V} 5CSEMA2 UFBGA 672
5CSEMA2U23C8: {Cyclone V} 5CSEMA2 UFBGA 672
5CSEBA2U19C6: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U19A7: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U19C7: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U19I7: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U19I7L: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U19C8: {Cyclone V} 5CSEBA2 UFBGA 484
5CSEBA2U23C6: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U23A7: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U23C7: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U23I7: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U23I7L: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U23C8: {Cyclone V} 5CSEBA2 UFBGA 672
5CSEBA2U19C7S: {Cyclone V} 5CSEBA2S UFBGA 484
5CSEBA2U19I7S: {Cyclone V} 5CSEBA2S UFBGA 484
5CSEBA2U19C8S: {Cyclone V} 5CSEBA2S UFBGA 484
5CSEBA2U23C7S: {Cyclone V} 5CSEBA2S UFBGA 672
5CSEBA2U23I7S: {Cyclone V} 5CSEBA2S UFBGA 672
5CSEBA2U23C8S: {Cyclone V} 5CSEBA2S UFBGA 672
test tests::get_part_list ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Doc-tests quartus
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment