VHDL错误(预期的简单表达)

时间:2013-02-25 15:16:50

标签: compiler-errors vhdl digital hdl digital-logic

我是VHDL的新手,我的代码问题似乎无法解决。我们应该使用选定的信号分配或表查找来完成此操作。因为我们应该使用不关心不会发生的输入,所以我的两者是两者的组合。

代码基本上应该为2的补码输入或偏移二进制提供相同的输出。因此,例如,十进制数7在偏移二进制中是“1111”,在二进制补码中是“0111”。两种形式都应该根据开关oe的值产生“1111100000”的输出(偏移二进制的'1',2的补码的'0')。

我在这个级别尽可能多地调试了我的代码,我不明白我做错了什么。

Active-HDL目前在48行和55行给出了错误。我收到了两个“预期的简单表达”错误。

我的代码位于下面的pastebin URL,因为它允许更好的可读性和语法突出显示(另外,我不喜欢摆弄Stack Exchange发布代码的奇怪方式)。另外,如果您在维护分配说明的同时有任何关于如何改进代码的提示,请随时提出建议。

http://pastebin.com/aAJAs6KQ

1 个答案:

答案 0 :(得分:0)

只需使用流程使其更具可读性:

...
-- untested
process( input, d, tmp, ob)
begin
   if ob = '1' then  
        led <= table(to_integer(unsigned(d & tmp)));
   else                 
        led <= table(to_integer(unsigned(not d & tmp)));
   end if;
end process;
...