M
microcreater
Guest
hello everybody!
mitt prosjekt av VHDL
hva advarsel i den?
enhet IIC_CLK er
------------------------------------------
port (
IIC_CLKIN: in std_logic;
IIC_RST: in std_logic;
IIC_CS: in std_logic;
IIC_NUM: in std_logic_vector (7 downto 0);
IIC_CLKOUT0: out std_logic;
IIC_CLKOUT1: out std_logic;
IIC_CLKOUT2: out std_logic
);
------------------------------------------
end IIC_CLK;
architecture Behavioral of IIC_CLK er
------------------------------------------
komponent CLKDIV
generisk (reglong: integer);
port (
CLK_IN: in std_logic;
CLK_RST: in std_logic;
CLK_CS: in std_logic;
CLK_NUM: in std_logic_vector (reglong downto 0);
CLK_OUT: out std_logic
);
end component;
------------------------------------------
------------------------------------------
signal IICSampClk: std_logic;
signal IICStepClk: std_logic;
signal IICStep6xClk: std_logic;
signal IICDivNum: std_logic_vector (9 downto 0);
------------------------------------------
begynne
IIC_CLKOUT0 <= IICSampClk;
IIC_CLKOUT1 <= IICStepClk;
IIC_CLKOUT2 <= IICStep6xClk;
I2C_SampClk: CLKDIV
generiske kart (3)
port map (
CLK_IN => IIC_CLKIN,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (7 downto 4),
CLK_OUT => IICSampClk
);
IIC_Clk: CLKDIV
generiske kart (3)
port map (
CLK_IN => IICSampClk,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (3 downto 0),
CLK_OUT => IICStepClk
);
IIC_6xClk: CLKDIV
generiske kart (1)
port map (
CLK_IN => IICStepClk,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (9 downto 8),
CLK_OUT => IICStep6xClk
);
IIC_SCK:
Prosessen (IIC_RST, IIC_CS, IIC_NUM)
begynne
if (IIC_RST = '0 ') then
IICDivNum <= "1111111111";
if (IIC_CS = '0 ') then
IICDivNum (9 downto 0) <= "10" & IIC_NUM (7 downto 0);
end if;
elsif (IIC_RST = '1 'and IIC_CS = '0') then
IICDivNum (9 downto 0) <= "10" & IIC_NUM (7 downto 0);
ellers
IICDivNum <= "0000000000";
end if;
end prosessen IIC_SCK;
end Behavioral;
mitt prosjekt av VHDL
hva advarsel i den?
enhet IIC_CLK er
------------------------------------------
port (
IIC_CLKIN: in std_logic;
IIC_RST: in std_logic;
IIC_CS: in std_logic;
IIC_NUM: in std_logic_vector (7 downto 0);
IIC_CLKOUT0: out std_logic;
IIC_CLKOUT1: out std_logic;
IIC_CLKOUT2: out std_logic
);
------------------------------------------
end IIC_CLK;
architecture Behavioral of IIC_CLK er
------------------------------------------
komponent CLKDIV
generisk (reglong: integer);
port (
CLK_IN: in std_logic;
CLK_RST: in std_logic;
CLK_CS: in std_logic;
CLK_NUM: in std_logic_vector (reglong downto 0);
CLK_OUT: out std_logic
);
end component;
------------------------------------------
------------------------------------------
signal IICSampClk: std_logic;
signal IICStepClk: std_logic;
signal IICStep6xClk: std_logic;
signal IICDivNum: std_logic_vector (9 downto 0);
------------------------------------------
begynne
IIC_CLKOUT0 <= IICSampClk;
IIC_CLKOUT1 <= IICStepClk;
IIC_CLKOUT2 <= IICStep6xClk;
I2C_SampClk: CLKDIV
generiske kart (3)
port map (
CLK_IN => IIC_CLKIN,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (7 downto 4),
CLK_OUT => IICSampClk
);
IIC_Clk: CLKDIV
generiske kart (3)
port map (
CLK_IN => IICSampClk,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (3 downto 0),
CLK_OUT => IICStepClk
);
IIC_6xClk: CLKDIV
generiske kart (1)
port map (
CLK_IN => IICStepClk,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum (9 downto 8),
CLK_OUT => IICStep6xClk
);
IIC_SCK:
Prosessen (IIC_RST, IIC_CS, IIC_NUM)
begynne
if (IIC_RST = '0 ') then
IICDivNum <= "1111111111";
if (IIC_CS = '0 ') then
IICDivNum (9 downto 0) <= "10" & IIC_NUM (7 downto 0);
end if;
elsif (IIC_RST = '1 'and IIC_CS = '0') then
IICDivNum (9 downto 0) <= "10" & IIC_NUM (7 downto 0);
ellers
IICDivNum <= "0000000000";
end if;
end prosessen IIC_SCK;
end Behavioral;