priority case语句
语句 case Priority
2023-09-14 09:10:03 时间
priority case语句
一个priority case可能具有多个条件选项匹配
priority case语句指定:
- 至少有一个条件选项的值与条件表达式匹配
- 如果有多个条件选项的值与条件表达式匹配,必须执行第一个匹配分支
修饰符priority表示设计者认为两个或多个条件选择表达式可以同时为真,并且条件选项的顺序非常重要。
//设计者指定了中断请求信号译码顺序的优先级,
//irq0具有最高优先级
always_comb
priority case(1'b1)
irq0:irq=4'b0001;
irq1:irq=4'b0010;
irq2:irq=4'b0100;
irq3:irq=4'b1000;
endcase
因为模型已经明确指出了必须按顺序对条件选项求值,所以如果多个条件选项匹配,所有的软件工具都会按照给出的编码优先级执行。
注意:综合编译器可能对条件选择项求值的优化与RTL代码
不同,即使使用了优先级条件
一些综合编译器如果发现条件选择项是互斥的,就很可能自动优化priority case语句来并行求值。
防止无意中产生锁存逻辑
priority case语句必须指明所有条件
当case、casex或casez语句使用priority修饰符后,在运行期出现的条件表达式的所有值都至少要和一个条件选项匹配。如果没有匹配的条件选项,工具会产生运行期警告。这样就保证了在case语句求值时,有且只要一个分支执行。即case语句组合逻辑实现,不会产生锁存器。
相关文章
- 流程控制-case语句
- (7)case语句[通俗易懂]
- 【说站】python使用语句的常见陷阱
- order by case when执行优先级_sql case语句
- 带case操作的update语句_多个case when嵌套
- php如何判断SQL语句的查询结果是否为空?
- mysql数据库中 case when语句使用
- Go语言switch case语句
- mysql语句中if语句详解数据库
- 快速导出Oracle数据库表记录SQL语句大全(oracle导出表数据sql)
- 深入了解MySQL的事务控制语句,保障数据完整性(MySQL中事务控制语句)
- MySQL中使用嵌套CASE实现复杂逻辑判断(mysql中case嵌套)
- MySQL中利用Case语句实现多条件查询(case语句 mysql)
- 异常解决Oracle语句异常的尝试(oracle中的语句出现)
- sqlserver动态创建临时表的语句分享