【问题标题】:Adding loop statement to every bit VHDL将循环语句添加到每一位 VHDL
【发布时间】:2021-03-24 15:51:11
【问题描述】:

大家好,我只是想问一下是否可以在这段代码上添加一个循环语句来打印每一位? 如果可能怎么办?

这是代码。

library ieee;
use ieee.std_logic_1164.all;

entity T10_StdLogicTb is
end entity;

architecture sim of T10_StdLogicTb is
    signal Signal1 : std_logic := '0';    --initial value of Signal1 is 0
    signal Signal2 : std_logic;

    signal Signal3 : std_logic;
begin
    process is
        
    begin
              
        wait for 10 ns;  --remember no process can be left without the wake statement
        Signal1 <= not Signal1;
    end process;
    
     
 
end architecture;

【问题讨论】:

    标签: vhdl modelsim


    【解决方案1】:

    您不能循环访问各个位 Signal1Signal2Signal3。但是你可以将这三个转换成一个 3 位的 std_logic_vector,你可以在上面循环。

    假设所有三个位都在一个名为my_vector 的向量中。使用report 语句打印值,使用std_logic 类型的'image 属性。

    for i in my_vector'range loop
        report std_logic'image( my_vector(i) );
    end loop;
    

    【讨论】:

    • 我想问一下,如果你把这三个位放在某个变量中?
    • 您可以使用连接运算符将位连接成位向量。
    猜你喜欢
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2022-09-25
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多