system-verilog - 如何删除 if 语句中的重复代码
问题描述
试图使这段现有代码更紧凑。
if(argA) {
struct_A_s addr;
Chunk of common code;
}
else if(argB) {
struct_B_s addr
Chunk of common code;
`enter code here` }
else {
struct_C_s addr;
Chunk of common code;
}
I wish to do something similar to the lines below.
它写在 addr 下面的方式没有得到正确的结构。
if(argA) {
struct_A_s addr;
}
else if(argB) {
struct_B_s addr
}
else {
struct_C_s addr;
}
Chunk of common code;
有任何想法吗 ?
解决方案
您的第二组代码在零时间内执行,没有时间增量,因此在解析此代码后,您的结果结构可能仍然未知,直到稍后的增量时间。我的猜测是,在“公共代码块”中存在一定程度的延迟,导致 addr 值被更新。
推荐阅读
- python - 查找字符串的表名和列名
- oracle - 一个月内跨部门员工最早打卡Top N
- android - 查看 Pager inside 主详细信息流的详细信息片段被调用但未显示
- python - python2.7 pip install EnvironmentError Illega字节序列
- html - Excel VBA Internet Explorer单击按钮没有ID
- cakephp - 包含表的 CakePHP 3 `setEntityClass()`
- jquery - Kendo mvc grid:下拉打开并在第一次单击时立即关闭
- crystal-reports - Crystal Report 结果中的 Datediff 公式计算错误
- c# - С# Dapper 映射错误
- nginx - 一起使用nginx上传模块和nginx lua