VHDLについてですが何がおかしいのでしょう?
下記をSynthesize実行すると「 Line 22. rol can not have such operands in this context.」という表示がでます。どういうことなのでしょうか?ソースは本のサンプルどおりのはずなのですが・・。(VHDLとCPLDによるロジック設計入門)という本の126Pのリスト6.12です。
CPLDでザイリンクスWebpackV6.31を使っています。
=====================
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following lines to use the declarations that are
-- provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;
entity shift2 is port(
SW : in unsigned(1 to 4);
SW2,SW3 : in std_logic;
LED : out unsigned(5 downto 2));
end shift2;
architecture RTL of shift2 is
signal S : integer;
begin
S <= CONV_INTEGER( not (SW3 & SW2));
LED <= SW rol S; ------------------------------Line22
end RTL;
お礼
私の環境が悪いんでしょうか。詳しくわかりませんが開発環境を考えて見ます。 遅くなりましたが回答ありがとうございます。