Vhdl 如何使用数字标准添加标准逻辑
使用numeric_std和VHDL 93,我似乎无法理解如何将std_逻辑信号添加到std_逻辑向量Vhdl 如何使用数字标准添加标准逻辑,vhdl,Vhdl,使用numeric_std和VHDL 93,我似乎无法理解如何将std_逻辑信号添加到std_逻辑向量 library ieee; use ieee.numeric_std.all; signal in_a, out1: std_logic_vector(3 downto 0); signal s1 : std_logic; out1 <= std_logic_vector(signed(in_a) + s1); ieee库; 使用ieee.numeric_std.all; 信号输入
library ieee;
use ieee.numeric_std.all;
signal in_a, out1: std_logic_vector(3 downto 0);
signal s1 : std_logic;
out1 <= std_logic_vector(signed(in_a) + s1);
ieee库;
使用ieee.numeric_std.all;
信号输入a,输出1:标准逻辑向量(3向下至0);
信号s1:std_逻辑;
out1库ieee;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
实体添加\u标准\u逻辑为
终端实体;
add_std_逻辑的体系结构foo是
信号输入a,输出1:标准逻辑向量(3向下至0);
信号s1:std_逻辑;
信号s1v:标准逻辑向量(0到0);
开始
s1v-s1);
out1谢谢:我知道诀窍是创建一个长度为1的向量:(s1&>)
,除非您需要使用std\u logic\u向量,否则最好直接使用有符号或无符号向量,特别是对于信号,但对于端口也是如此。这避免了到处都需要强制转换,并有助于记录信号的用途。正数值(计数器、地址):无符号。正负数值(数据):有符号。非数字数据(控制信号、聚合):标准逻辑(矢量)。
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity add_std_logic is
end entity;
architecture foo of add_std_logic is
signal in_a, out1: std_logic_vector(3 downto 0);
signal s1 : std_logic;
signal s1v: std_logic_vector(0 to 0);
begin
s1v <= (others => s1);
out1 <= std_logic_vector(signed(in_a) + signed(s1v));
end architecture;
architecture fum of add_std_logic is
signal in_a, out1: std_logic_vector(3 downto 0);
signal s1 : std_logic;
subtype s1v is std_logic_vector(0 to 0);
begin
out1 <= std_logic_vector(signed(in_a) + ( s1 & ""));
end architecture;