由于 Quartus® Prime Pro Edition 软件中存在一个问题,您可能会发现以下代码未正确执行。
example_process : 进程 (clk)
开始
如果rising_edge(clk),则
signal_1 <= input_a;
signal_1 <= select_signal时input_b;
结束如果;
结束过程example_process;
这应该创建一个寄存的多路复用器,但改为创建一个寄存器, 其中input_b 连接到 D 输入并用作使能 select_signal 。
此代码仅在 VHDL-2008 中有效。
若要变通解决此问题,请改用此代码。
example_process : 进程 (clk)
开始
如果rising_edge(clk),则
signal_1 <= input_b当select_signal其他input_a时;
结束如果;
结束过程example_process;