我是VHDL的初学者,并且正在使用用户定义的类型进行一些操作" distance"如下所述:
entity metric is
type DISTANCE is range 0 to 1000000000
units
nm;
mm = 10E6 nm;
cm = 10 mm;
m = 100 cm;
km = 10E3 m;
inch = 25400000 nm;
foot = 12 inch;
yard = 3 foot;
mile = 1760 yard;
end units;
end metric;
在架构中,我声明了距离类型的变量,并尝试使用整数值进行一些操作。
architecture test of metric is
begin
P1 : process
variable res1, res2 : DISTANCE ;
begin
res1 := 10 * (10 nm);
res2 := 10 / (10 nm);
wait;
end process;
end test;
代码编译为res1但是对于res2发生以下错误 -
中缀运营商" /"
没有可行的条目变量赋值中的右侧(中缀表达式)
任何人都可以解释为什么乘法有效但在上述情况下除法失败了? 提前谢谢。