关于VHDL方面的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:48:26
signal sda_sam: std_logic_vector(3 downto 0);
sda_sam<=(others => '1'); 这句什么意思?
scl_sam<=scl_sam(2 downto 1) & "00"; 这句又什么意思?

sda_sam<=(others => '1');是sda_sam<=“1111”;就是将sda_sam赋值全‘1’

scl_sam<=scl_sam(2 downto 1) & "00";就是将scl_sam的第三位第二位末尾加上两个0;

假设scl_sam 为 1111那么scl_sam<=scl_sam(2 downto 1) & "00";的结果就是1100.
假设scl_sam为1010 则scl_sam<=scl_sam(2 downto 1) & "00";的结果为0100.

“&”是并置的意思,也可以说是 连接,将两个对象或矢量连接成维数更大的矢量。如“VH”&“DL”的结果为“VHDL”。