Architecture 在结构和行为架构中访问信号

Architecture 在结构和行为架构中访问信号,architecture,signals,vhdl,counter,Architecture,Signals,Vhdl,Counter,我已经定义了模块的结构架构,例如 architecture structural of my_entity is signal counter : integer := 0; begin MODULE port map(......count => counter.....); --this is an inout port end structural; 我想实现一个计数器,该计数器根据输入信号signalIn到myu实体的变化而递增,并将此计数器值传输

我已经定义了模块的结构架构,例如

architecture structural of my_entity is
    signal counter : integer := 0;
    begin
        MODULE port map(......count => counter.....); --this is an inout port
end structural;
我想实现一个计数器,该计数器根据输入信号
signalIn
myu实体
的变化而递增,并将此计数器值传输到
模块

my_enity is
end entity;

architecture structural of my_entity is
    signal counter: integer := 0;
begin
UNLABELLED_COMPONENT_INSTANTIATION:  -- presuming count is declared mode in
   MODULE port map(......count => counter.....); --this is an inout port
UNLABELLED_PROCESS:
    process (inSignal)
    begin
        counter <= counter + 1;
end architecture structural;
我的实体
的行为架构中,是否有办法增加此
计数器
信号?比如说

architecture Behavioural of my_entity is
    begin
        process(signalIn)
            begin
                counter <= counter + 1;
        end process;
end Behavioural;
my_实体的架构行为是 开始 过程(信号输入) 开始
计数器在一个体系结构中显示计数器的声明时,您的问题不会显示信号
inSignal
的声明(这是一个信号,因为它显示在进程的敏感度列表中)。也不显示
模块
的组件声明

my_enity is
end entity;

architecture structural of my_entity is
    signal counter: integer := 0;
begin
UNLABELLED_COMPONENT_INSTANTIATION:  -- presuming count is declared mode in
   MODULE port map(......count => counter.....); --this is an inout port
UNLABELLED_PROCESS:
    process (inSignal)
    begin
        counter <= counter + 1;
end architecture structural;

架构中没有明显的信号计数器声明。将声明从结构复制到行为。还请注意,您的进程将在
信号中的任何事件上递增计数器,即使预期此行为不符合条件。谢谢您的评论。我假设如果我在行为学中再次声明它,那么它将是一个新的信号,并且不会影响传输到
模块的信号。有没有办法在更改为
signalIn
时增加该信号?它如何影响
模块的实例化?它在一个不同的架构中。“与给定的实体声明相对应,可能存在多个体系结构实体。每个实体使用相同的接口声明不同的实体;因此,每个实体与实体声明一起代表具有相同接口的不同设计实体。”这就是我最初的问题所指的。如何增加传输到
模块的计数器?我在想,我可能需要为此专门制作一个新的实体。你的问题看起来既不清楚,也不完整——你展示的抽象代码没有传达这个想法。在一个体系结构中实例化
模块
,该体系结构还包含一个带有计数器的进程,该计数器递增已声明的信号
计数器
。您可以将流程(可能为合成而固定)从第二个架构移动到第一个架构(将第一个架构复制到第三个架构,并将流程复制到第三个架构)。因此,这里的解决方案是将行为体和结构体结合起来。谢谢你的帮助。在模拟级别,一切都是行为的。结构通用是指根据由实例化实体/架构对组成的互连层次结构来描述设计。每个并发语句都被分解成一个过程语句或过程语句和块语句的组合,为模拟(和合成)提供层次结构。函数调用是表达式,过程调用是语句(顺序或并发,后者分解为进程)。