This commit is contained in:
锦恢 2024-12-03 16:12:59 +08:00
commit 9c911a28d7
4 changed files with 5 additions and 3 deletions

1
Cargo.lock generated
View File

@ -1416,7 +1416,6 @@ dependencies = [
name = "sv-parser"
version = "0.13.3"
dependencies = [
"log",
"nom",
"nom-greedyerror",
"sv-parser-error",

View File

@ -295,6 +295,7 @@ impl Instance {
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Module {
pub name: String,
pub arch_name: String,
pub params: Vec<Parameter>,
pub ports: Vec<Port>,
pub instances: Vec<Instance>,
@ -363,6 +364,7 @@ impl FastHdlparam {
pub fn new_module(&mut self, name: &str, range: Range) {
let module = Module {
name: name.to_string(),
arch_name: "".to_string(),
params: Vec::new(),
ports: Vec::new(),
instances: Vec::new(),

View File

@ -115,6 +115,7 @@ fn parse_tokens(tokens: Vec<Token>) -> Vec<Module> {
// 创建一个空的 module 并标记上 last_module_name
let module = Module {
name: entity_name.to_string(),
arch_name: "".to_string(),
params: Vec::new(),
ports: Vec::new(),
instances: Vec::new(),
@ -195,8 +196,7 @@ fn parse_tokens(tokens: Vec<Token>) -> Vec<Module> {
} else {
let module = modules.iter_mut().find(|module| module.name == name).unwrap();
let arch_name = get_value(&tokens[i+1]);
let entity_name = module.name.clone();
module.name = entity_name + "(" + arch_name.as_str() + ")";
module.arch_name = arch_name;
}
}
}

View File

@ -232,6 +232,7 @@ fn do_vhdl_fast(
let fake_content = vec![
core::hdlparam::Module {
name: ip_name.to_string(),
arch_name: "".to_string(),
params: vec![],
ports: vec![],
instances: vec![],