嵌入式系统设计中的编程语言与建模方法
1. VHDL相关问题
在某些情况下,对于函数的定义会遇到一些特殊问题。例如,当 a = b = c = '0' 时,函数 f 应无定义。一种便捷的指定此函数的方式如下:
f <= select a & b & c -- & 表示连接
'1' when "10-"
-- 对应第一项
'1' when "-11"
-- 对应第二项
'X' when "000"
然而,VHDL 中的 select 语句在实际使用中存在问题。由于 IEEE 1164 只是众多可能值集之一,它并不包含关于 '-' 含义的信息。当 VHDL 工具评估 select 语句时,会检查选择表达式(如上述的 a & b & c )是否等于 when 子句中的值。在这种情况下, '-' 会被当作普通值处理,由于 '-' 不会被赋值给任何变量,这些测试永远不会为真,所以 '-' 的作用有限。这就是在 VHDL 中自定义值集灵活性所带来的代价,不过这个问题在 VHDL 2006 中得到了修正。
IEEE 1164 标准基于 7 值集,能够对包含耗尽型晶体管的电路进行建模,但无法对电荷存储进行建模。
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



