VHDL允许以下替换,大概是因为某些计算机可能不支持竖线(或管道符号)(|)或散列(或井号/数字符号)(#):
case A|B
可以写成case A!B
16#fff#
可以写成16:fff:
现在任何计算机都支持垂直条和哈希符号,所以我认为没有人使用这些替换......直到有人请求支持感叹号。
我的问题:这是一个单独的案例,还是其他人也使用感叹号代替竖条?有人使用结肠吗?
答案 0 :(得分:2)
数据点1:不是我:)
我在任何代码中都没有看到它 - 我也没有在任何时候教过它(事实上,这是我第一次知道这些替换)。
我快速浏览了Ashenden的 Designer VHDL指南,当!
语句引入|
时,甚至没有提及case
替代方案
答案 1 :(得分:1)
这些都是从Ada继承而来的(自Ada95以来它们已经过时)。 Ada83 Rationale说:“出于便携性原因,可以在ISO字符集的56个字符子集中编写任何程序。”其中ISO字符集必须被理解为ISO-646,也就是ASCII(ISO-646已经规定替换一些字符用于国家变体,ASCII可以被理解为ISO-646的美国国家变体)
还有第三个替换:%可以使用而不是“作为字符串分隔符(两者都必须替换)。
我似乎记得EBCDIC正在使用|要么 !对于相同的代码点,取决于变体。