gpt4 book ai didi

VHDL:如何在输入端口上设置值?

转载 作者:行者123 更新时间:2023-12-03 09:45:47 25 4
gpt4 key购买 nike

我正在尝试测试 VHDL组件,但我似乎无法让这个输入端口给我任何行为。我尝试将端口设置为从“1”到“-”的所有内容,但它在模拟中仍然显示为“U”。任何可能有什么问题的建议?

最佳答案

对于 Inout 端口(例如在 RAM 中):

....
port(
data :inout std_logic_vector (DATA_WIDTH-1 downto 0);
....
-- Memory Write Block
-- Write Operation : When we = 1, cs = 1
MEM_WRITE: process (address, cs, we, data, address_1, cs_1, we_1, data_1) begin
if (cs = '1' and we = '1') then
mem(conv_integer(address)) <= data;
end if;
end process;

-- Tri-State Buffer control
data <= data_out when (cs = '1' and oe = '1' and we = '0') else (others=>'Z');

-- Memory Read Block
MEM_READ: process (address, cs, we, oe, mem) begin
if (cs = '1' and we = '0' and oe = '1') then
data_out <= mem(conv_integer(address));
else
data_out <= (others=>'0');
end if;
end process;

您使用条件为 inout 分配数据读取和写入。读取数据时,由另一个模块驱动。当它写入时,它是由内部驱动的。
  • 例如,当由另一个模块驱动时(如在信号中),数据在所有“Z”和向量“0101010”之间解析。数据将驱动为“0101010”。
  • 在另一种情况下:其他模块必须将数据全部“Z”驱动,然后内部信号才能将其值放入数据。
  • 关于VHDL:如何在输入端口上设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1510633/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com