Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vhdl的行为中可以有多少个进程?_Vhdl - Fatal编程技术网

vhdl的行为中可以有多少个进程?

vhdl的行为中可以有多少个进程?,vhdl,Vhdl,我想减慢时钟…并接受输入 entity q1 is Port ( clk: in std_logic; a0,a1,a2,a3,a4,a5,a6,a7,a8,a9 : in STD_LOGIC_VECTOR (3 downto 0); b0,b1,b2,b3,b4,b5,b6,b7,b8,b9 : in STD_LOGIC_VECTOR (3 downto 0); y0,y1,y2,y3,y4,y5,y6,y7,

我想减慢时钟…并接受输入

entity q1 is
    Port ( clk: in std_logic;
              a0,a1,a2,a3,a4,a5,a6,a7,a8,a9 : in  STD_LOGIC_VECTOR (3 downto 0);
           b0,b1,b2,b3,b4,b5,b6,b7,b8,b9 : in  STD_LOGIC_VECTOR (3 downto 0);
           y0,y1,y2,y3,y4,y5,y6,y7,y8,y9 : out  STD_LOGIC_VECTOR (6 downto 0));
end q1;

architecture Behavioral of q1 is
signal counter : std_logic_vector(9 downto 0)='0000000000';
signal clk_en: std_logic='0';
process(clk)
begin
     if (clk'event and clk='1') then
            counter <= counter +1;
            if (counter = 0) then
                clk_en <= '1';
            else clk_en='0' 
            end if ;
      end if;
end process;



end Behavioral;
实体q1是
端口(时钟:在标准逻辑中;
a0、a1、a2、a3、a4、a5、a6、a7、a8、a9:标准逻辑向量(3到0);
b0,b1,b2,b3,b4,b5,b6,b7,b8,b9:标准逻辑向量(3到0);
y0,y1,y2,y3,y4,y5,y6,y7,y8,y9:输出标准逻辑向量(6到0);
第一季度末;
q1的架构是
信号计数器:标准逻辑向量(9到0)='0000000000';
信号时钟:标准逻辑=0';
过程(clk)
开始
如果(clk'事件和clk='1'),则
计数器一个精心设计的VHDL设计执行过程
IEEE标准1076-2008:
11同时发表的声明,11.1概述,第1段:

…并发语句用于定义相互关联的块和过程,这些块和过程共同描述设计的总体行为或结构

  • 阐述和执行14.1概述:
  • 宣言实现其效果的过程称为宣言的详细阐述。在详细阐述之后,据说要详细阐述一项宣言。在完成拟订之前(包括在拟订之前),宣言尚未拟订

    精化还为设计层次结构、声明性部分、语句部分(包含并发语句)和并发语句定义。为了最终细化在这些构造中声明的声明性项,有必要细化这些构造

    为了执行模型,应首先阐述定义模型的设计层次结构。然后在模型中初始化网络(见14.7.3.4)。最后,对模型进行了仿真。仿真包括仿真周期的重复执行,在此期间执行过程并更新网络

    14.2设计层次的详细说明,第1段:

    设计层次结构的细化创建了一个由网络互连的过程集合;然后可以执行这些过程和网络的集合来模拟设计的行为

    每个并发语句都被详细描述为进程(进程语句、并发过程调用、并发断言语句、并发信号分配)或块和进程的层次结构(生成语句、组件实例化和块语句)

    进程不是例程,它不被调用。而是暂停和恢复。它将从最后一条语句换行到第一条语句(goto或jump,而不是call)

    一个模型中可以容纳多少个进程并不取决于它是结构的还是行为的——所有VHDL模型都是行为的,两者之间的区别在于风格而不是执行

    与恢复地址一起,进程恢复由对事件或模拟时间的敏感性控制。进程挂起时由其实现的算法控制

    模拟
    14.7模型的执行 14.7.1概述,第1段:

    设计层次结构的细化产生了一个模型,可以执行该模型来模拟该模型所表示的设计。模拟包括执行用户定义的流程,这些流程彼此交互,并与环境交互

    流程语句的执行可以与模型中的任何其他流程同时发生。没有保证的执行顺序,如果它们没有并发执行,模拟周期会将它们视为并行执行

    任何进程执行时都不会发生信号分配。当所有进程已暂停任何预计输出波形时,将评估计划的信号分配,并确定下一次计划信号更新的时间。模拟时间提前到该时间。计划在下一个增量循环中发生0个模拟时间单位后发生的信号分配。没有进一步更新时,计划的模拟时间将提前到最大时间值,模拟结束

    有多少个进程
    多少进程是实现限制,更多地取决于CPU体系结构(地址空间、地址指针的大小)。可以有多少进程取决于可寻址对象的总数、模型代码及其大小,而不是指针的大小以及支持模拟所需的可执行代码的数量——模拟模型内存空间中的主机操作系统例程。主机处理虚拟内存的能力

    地址空间通常与CPU的字大小相关联。它依赖于实现,不受VHDL语言定义的限制

    实现限制的结果会影响可移植性

    可移植性
    附件D, (资料性), 潜在不可移植结构,第1段:

    本附录列出了使用可能导致无法移植描述的VHDL结构。
    如果描述是可移植的,则将其视为可移植的

    a)编译、详细说明、初始化和模拟所有符合性实施的模拟周期,并终止

    b)描述中所有信号和变量的时变状态在仿真过程中始终相同

    在相同的刺激同时应用于描述的条件下。应用于模型的刺激包括提供给模型设计层次根的泛型和端口的值(如果有)


    基于实现限制,VHDL设计规范在实现之间可能是不可移植的。附录D列举了语言定义中定义的不可移植结构,其中不包括实现限制。

    您的问题标题和正文根本不匹配,并且您在这里没有提出实际问题。另外,花点时间格式化你的代码,这样其他人就有机会