错误(10568):Questao1处的VHDL错误。vhd(44):can';“不写入接口对象”;dataa";中的模式
这是我的密码:错误(10568):Questao1处的VHDL错误。vhd(44):can';“不写入接口对象”;dataa";中的模式,vhdl,Vhdl,这是我的密码: -- Insert library and use clauses LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Questao1 IS -- Begin port declaration PORT ( -- Declare data inputs "dataa" and "datab" dataa, dat
-- Insert library and use clauses
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY Questao1 IS
-- Begin port declaration
PORT (
-- Declare data inputs "dataa" and "datab"
dataa, datab : in STD_LOGIC_VECTOR (15 DOWNTO 0);
-- Declare data output "sum"
sum : out STD_LOGIC_VECTOR (15 DOWNTO 0)
);
-- End entity
END ENTITY Questao1;
-- Begin architecture
ARCHITECTURE logic OF Questao1 IS
BEGIN
sum <= x"000A" WHEN dataa = x"0001" ELSE x"000B" WHEN datab = x"0001" ELSE x"000C";
dataa <= x"0001", x"0000" AFTER 20 NS, x"000A" AFTER 30 NS;
datab <= x"0000", x"0001" AFTER 20 NS, x"0005" AFTER 30 NS;
-- End architecture
END ARCHITECTURE logic;
--插入库和使用子句
图书馆IEEE;
使用IEEE.STD_LOGIC_1164.ALL;
使用IEEE.STD_LOGIC_UNSIGNED.ALL;
实体Questao1是
--开始港口申报
港口(
--声明数据输入“dataa”和“datab”
dataa,datab:标准逻辑向量(15到0);
--声明数据输出“总和”
求和:输出标准逻辑向量(15到0)
);
--终端实体
终端实体Questao1;
--开始架构
Questao1的架构逻辑是
开始
sum似乎给了您一个任务来编写测试台来测试代码
一般来说,设计的vhdl代码表示设计应该如何运行。如果你想测试它,如果它真的这样做了,它应该做什么,你需要把它“包装”在一个更大的设备中,以便能够向你的“被测设备”发送信号。
这通常是通过使用testbenches来完成的,testbenches是一种vhdl代码,它将实体用作组件并向其发送信号
接下来要注意的是,任何特定于时间的命令(如本例中的“AFTER”)都是不可合成的。不过,您可以使用软件工具(如modelsim)模拟设计的行为
另一件事是您不能为输入赋值。输入端口从“外部世界”接收数据,您不能更改实体从实体内部接收的数据。dataa
是一种输入。您不能从体系结构主体分配给它。如果你想分配一些东西给它,也许它是一个输出?或者你是想做一个Questao1
的实例,并从外部分配一些东西给它的输入?我需要实现以下逻辑架构:刺激信号的总和应该是:dataa