我在学校熟悉了一点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)