できないことはできない

ただのメモの置き場所

numeric_stdでstd_logic_vectorからunsigned変換

AR# 45213 VHDL で STD_LOGIC_VECTOR を整数に変換する方法 https://japan.xilinx.com/support/answers/45213.html

↑でコンパイルが通らなかったので、↓でやったら通った。  

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;

-------(省略)---------

signal a : std_logic_vector(3 downto 0);

signal b : unsigned(3 downto 0);

-------(省略)---------
 

b <= unsigned(a);

 

 

 

 

 

 

VHDLのクロックイベント

verilogだとこう。

always @(posedge CLK) begin
 A <= B;
end

でもVHDLだとこう。

process(CLK) begin
 if(CLK'event and CLK = '1')then
  A <= B;
 end if;   
end processs;

長い。 Quartusの記述テンプレートをたまたま見たところ、

process(CLK) begin
 if(rising_edge(CLK))then
  A <= B;
 end if;   
end processs;

という記述があった。こっちにする。