Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/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,在xilinx的测试台上,我认识到 clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; clk\u流程:流程 开始 clkIEEE标准1076-2008,10.2等待声明: wait语句导致进程语句或过程暂停 11.3过程说明: 流程语句定

在xilinx的测试台上,我认识到

 clk_process :process
   begin
        clk <= '0';
        wait for clk_period/2;
        clk <= '1';
        wait for clk_period/2;
   end process;
clk\u流程:流程
开始

clkIEEE标准1076-2008,10.2等待声明:

wait语句导致进程语句或过程暂停

11.3过程说明:

流程语句定义了一个独立的顺序流程,表示设计的某些部分的行为

第12段:

流程语句的执行包括其语句序列的重复执行。在执行流程语句序列中的最后一条语句后,将立即继续执行语句序列中的第一条语句

回到10.2,第8段:

wait语句的执行会导致计算时间表达式以确定超时间隔。它还导致相应流程语句的执行暂停,其中相应流程语句是包含wait语句的流程语句,或者是包含wait语句的过程的父级(参见4.3)。暂停的进程最迟将在超时间隔过期后立即恢复

回到11.3第4段:

如果在保留字process之后出现一个进程敏感度列表,则假定该进程语句包含一个隐式等待语句作为进程语句部分的最后一个语句;此隐式wait语句的形式为

等待敏感度列表上的

(包括过程敏感性列表的情况)

您所指的标签是标签。标签大体上是可选的(特别是在这里,尽管有些地方可能需要标签)

10.1的最后一段(10.顺序陈述):

所有顺序语句都可以标记。这样的标签隐式声明在最里面的封闭流程语句或子程序体的声明性部分的开头

11.1的最后一段(11.同时声明):

所有并发语句都可以标记。这样的标签隐式声明在最里面的封闭实体声明、体系结构主体、块语句或生成语句的声明性部分的开头

(过程声明为并发声明,见11.1第2段)

11.3第2段:


其中方括号中包含一个可选项。(参见1.3.2语法描述)。

类似的过程通常用于测试台。该过程用于生成应在测试设计中使用的时钟。 您只需定义一个“时钟周期”,如1U,并获得一个名为“时钟”的1MHz时钟

非常重要的是,这段代码是不可合成的,它只用于模拟

“Tag”“clk_process”只是进程名称,您可以随时调用它

process_statement ::= 
    [ process_label : ]
        [ postponed ] process [ ( process_sensitivity_list ) ] [ is ] 
              process_declarative_part
        begin
            process_statement_part
        end [ postponed ] process [ process_label ] ;