我的代码上出现以下错误,我不知道它们是什么意思,也不知道如何解决它们

xxs899

因此,我试图在EDA PLayground上为32位ALU编写VHDL,但是我收到了一些我不太了解的错误消息,并且我不知道如何解决它们,有人可以帮忙吗?我不知道错误在哪里,我也不知道要在代码中进行哪些更改以解决这些错误。

以下是VHDL代码:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_signed.ALL;

entity alu is
    port(
    A, B: in std_logic_vector(31 downto 0);
            opcode: in std_logic_vector(2 downto 0);
            Result: in std_logic_vector(31 downto 0) 
            );
end entity alu;

architecture dataoperations of alu is
begin 
    Result <= A + B when opcode="1010" 
    else    A - B when opcode="1000"
    else    abs(A) when opcode="1011"
    else    -A  when opcode="1101"
    else    abs(B) when opcode="0001"
    else    -B when opcode="1001"
    else    A or B when opcode="0110"
    else    not A when opcode="1111"
    else    not B when opcode="0101"
    else    A and B when opcode="1100"
    else    A xor B when opcode="0010";
end architecture dataoperations;

这是测试平台代码:

library IEEE;
use IEEE.std_logic_1164.all;

entity mytestbench is
end entity mytestbench;

architecture test of mytestbench is
    signal in1, in2, out1: std_logic_vector (31 downto 0);
    signal in3: std_logic_vector (2 downto 0);
begin
    g1: entity work.alu(dataoperations)
        port map (A <= in1, B <= in2; opcode <= in3, Result <= out1);
    in1 <= "0001", "0FAF" after 20 ns, "F000" after 40 ns;
    in2 <= "0100", "7FFF" after 10 ns, "FFFF" after 30 ns;
    in3 <= "00";
end architecture test;  

这是错误消息:

COMP96 File: design.vhd
COMP96 Compile Architecture "dataoperations" of Entity "alu"
COMP96 ERROR COMP96_0143: "Object "Result" cannot be written." "design.vhd" 15 2
COMP96 File: testbench.vhd
COMP96 ERROR COMP96_0724: "',' or ')' expected." "testbench.vhd" 12 28
COMP96 ERROR COMP96_0015: "';' expected." "testbench.vhd" 12 31
COMP96 ERROR COMP96_0019: "Keyword 'when' expected." "testbench.vhd" 12 65
COMP96 ERROR COMP96_0015: "';' expected." "testbench.vhd" 12 65
COMP96 ERROR COMP96_0019: "Keyword 'end' expected." "testbench.vhd" 12 65
COMP96 ERROR COMP96_0016: "Design unit declaration expected." "testbench.vhd" 12 66
COMP96 ERROR COMP96_0019: "Keyword 'of' expected." "testbench.vhd" 16 22
COMP96 ERROR COMP96_0018: "Identifier expected." "testbench.vhd" 16 22
用户名

最后8个错误是在g1端口映射中的逗号分隔符处使用的分号。

-- port map (A <= in1, B <= in2; opcode <= in3, Result <= out1);
port map (A => in1, B => in2, opcode => in3, Result => out1);

列表以逗号分隔,接口声明列表以分号分隔。这是在端口映射方面丢失的端口关联(这不是声明,而port子句是)。

(注意,端口映射关联使用复合定界符,=>而不是<=在正式端口和实际信号之间使用。这可能是另外十几个错误。)

第一个错误是因为alu端口Result的模式错误(应为模式输出)。

这些是印刷错误。

mytestbench中存在尚未公开的错误。

分配给in1,in2的字符串值应该是位字符串(例如x“ 7FFF”),其中十六进制数字分别表示4个元素,当应该有32个元素时(例如x“ 00007FFF”),您将显示16个元素。分配给in3的值没有足够的元素。作为不良示例:

-- in1 <= "0001", "0FAF" after 20 ns, "F000" after 40 ns;
    -- in2 <= "0100", "7FFF" after 10 ns, "FFFF" after 30 ns;
    -- in3 <= "00";
    in1 <= x"00000001", x"00000FAF" after 20 ns, x"0000F000" after 40 ns;
    in2 <= x"00000100", x"00007FFF" after 10 ns, x"0000FFFF" after 30 ns;
    in3 <= "000";

这不是一个不好的努力。来自分号的期望逗号的错误数量令人惊讶,并且反映在ALDEC工具中的解析器体系结构上。前瞻为1的解析器会(应该)更快退出。语法错误可能很难为其提供有用的错误消息,因为在进行任何语义分析之前都会检测到它们。您最后的求助方法可能是检查语法(在LRM,IEEE标准1076中进行了描述)。

同一行的第一个错误:

OMP96 ERROR COMP96_0724: "',' or ')' expected." "testbench.vhd" 12 28

最后两个数字是行号,字符位置是第一个需要注意的地方。您几乎会认为在第一个错误之后退出会更好地“教”您语言语法。

还有一个未公开的模拟错误,例如when opcode="1010",字符串字面量长度与操作码中的元素数不匹配(3、2到0)。等于运算符将始终求值为FALSE。修复字符串文字或在操作码中具有匹配数量的元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我不知道这个错误是什么意思

来自分类Dev

PDO错误,我不知道如何解决

来自分类Dev

我遇到这些错误,不知道如何解决

来自分类Dev

我的脚本出现语法错误,但我不知道为什么以及如何解决它>

来自分类Dev

我不知道该如何解决

来自分类Dev

SQL Select 我不知道到底是什么意思

来自分类Dev

我不知道 sql 语法中的错误是什么

来自分类Dev

我的代码中有一个nullPointerException,我不知道如何解决

来自分类Dev

我找到了错误的原因,但我不知道如何解决

来自分类Dev

我的元素不在屏幕上,我不知道如何解决

来自分类Dev

我不知道为什么我的代码是错误的?那是什么错呢?

来自分类Dev

SQL Server事务和事务隔离-收到我不知道如何解决的错误

来自分类Dev

如何解决:我的第二个 if 语句出现语法错误,但我不知道为什么?

来自分类Dev

我不知道对象(这)的意思

来自分类Dev

PHP错误-不知道如何解决

来自分类Dev

php错误-不知道如何解决

来自分类Dev

我的分区搞砸了,我不知道如何修复它们

来自分类Dev

我试图制作一个字符串数组,但是现在我的代码出现问题,我不知道如何解决

来自分类Dev

我不知道如何扩展我的代码

来自分类Dev

我不知道如何扩展我的代码

来自分类Dev

我的代码出错,但我不知道如何修复

来自分类Dev

我不知道这段代码中的这些符号是什么意思。十进制到二进制

来自分类Dev

我不知道如何解析这个嵌套的json

来自分类Dev

我不知道的语法错误

来自分类Dev

我不知道xcode的iOS元素是什么

来自分类Dev

我不知道预期的表情是什么

来自分类Dev

我还不知道的演员类型是什么

来自分类Dev

StyleCop SA1620,我不知道如何解决我喜欢的XML注释

来自分类Dev

我想做一个计数对象,但我不知道如何解决

Related 相关文章

  1. 1

    我不知道这个错误是什么意思

  2. 2

    PDO错误,我不知道如何解决

  3. 3

    我遇到这些错误,不知道如何解决

  4. 4

    我的脚本出现语法错误,但我不知道为什么以及如何解决它>

  5. 5

    我不知道该如何解决

  6. 6

    SQL Select 我不知道到底是什么意思

  7. 7

    我不知道 sql 语法中的错误是什么

  8. 8

    我的代码中有一个nullPointerException,我不知道如何解决

  9. 9

    我找到了错误的原因,但我不知道如何解决

  10. 10

    我的元素不在屏幕上,我不知道如何解决

  11. 11

    我不知道为什么我的代码是错误的?那是什么错呢?

  12. 12

    SQL Server事务和事务隔离-收到我不知道如何解决的错误

  13. 13

    如何解决:我的第二个 if 语句出现语法错误,但我不知道为什么?

  14. 14

    我不知道对象(这)的意思

  15. 15

    PHP错误-不知道如何解决

  16. 16

    php错误-不知道如何解决

  17. 17

    我的分区搞砸了,我不知道如何修复它们

  18. 18

    我试图制作一个字符串数组,但是现在我的代码出现问题,我不知道如何解决

  19. 19

    我不知道如何扩展我的代码

  20. 20

    我不知道如何扩展我的代码

  21. 21

    我的代码出错,但我不知道如何修复

  22. 22

    我不知道这段代码中的这些符号是什么意思。十进制到二进制

  23. 23

    我不知道如何解析这个嵌套的json

  24. 24

    我不知道的语法错误

  25. 25

    我不知道xcode的iOS元素是什么

  26. 26

    我不知道预期的表情是什么

  27. 27

    我还不知道的演员类型是什么

  28. 28

    StyleCop SA1620,我不知道如何解决我喜欢的XML注释

  29. 29

    我想做一个计数对象,但我不知道如何解决

热门标签

归档