小编jak*_*h12的帖子

请澄清VHDL中顺序和并发执行的概念

我在学校熟悉了一点Verilog,现在,一年后,我买了一台Basys 3 FPGA板.我的目标是学习VHDL.

我一直在阅读一本名为"Free Range VHDL"的免费书,它有助于理解VHDL语言.我还搜索了包含VHDL代码的github repos以供参考.

我最关心的是顺序执行和并发执行之间的区别.我理解这两个词的含义,但我仍然无法想象为什么我们可以将"过程"用于组合逻辑(即七段解码器).我已经实现了我的七段解码器作为并发语句的条件分配.如果我使用process和switch语句实现解码器会有什么区别?在组合逻辑方面,我不理解顺序执行过程.如果它是顺序机器 - 状态机,我会理解它.

有人可以解释一下这个概念吗?

这是我的七段解码器代码:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity hex_display_decoder is
    Port ( D: in STD_LOGIC_VECTOR (3 downto 0);
       SEG_OUT : out STD_LOGIC_VECTOR (6 downto 0));
end hex_display_decoder;

architecture dataflow of hex_display_decoder is
begin
  with D select
      SEG_OUT <=  "1000000" when "0000",
                  "1111001" when "0001",
                  "0100100" when "0010",
                  "0110000" when "0011",
                  "0011001" when "0100",
                  "0010010" when "0101",
                  "0000010" when "0110",
                  "1111000" when "0111",
                  "0000000" when "1000",
                  "0010000" when "1001",
                  "0001000" …
Run Code Online (Sandbox Code Playgroud)

parallel-processing concurrency vhdl execution sequential

2
推荐指数
1
解决办法
3867
查看次数