|
entity CLKDIV is
------------------------------------------
port (
CLK_IN : in std_logic;
CLK_RST: in std_logic;
CLK_CS : in std_logic;
CLK_NUM: in std_logic_vector ( 8 downto 0 );
CLK_OUT: out std_logic
);
------------------------------------------
end CLKDIV;
architecture Behavioral of CLKDIV is
------------------------------------------
signal CLK_CLK: std_logic;
signal CLK_CNT: std_logic_vector ( 8 downto 0 );
------------------------------------------
begin
------------------------------------------
div: process ( CLK_RST,CLK_IN,CLK_CS )
begin
if ( CLK_RST = '0' ) then
CLK_CLK <= '1';
CLK_CNT <= "000000000";
elsif ( CLK_IN' event and CLK_IN = '1' and CLK_CS = '0' ) then
CLK_CNT <= CLK_CNT + 1;
if ( CLK_CNT = CLK_NUM ) then
CLK_CLK <= not CLK_CLK;
CLK_CNT <= "000000000";
end if;
end if;
end process div;
CLK_OUT <= CLK_CLK;
------------------------------------------
end Behavioral;
entity IIC_CLK is
------------------------------------------
port (
IIC_CLKIN: in std_logic;
IIC_RST: in std_logic;
IIC_CS: in std_logic;
IIC_CLKOUT0: out std_logic;
IIC_CLKOUT1: out std_logic
);
------------------------------------------
end IIC_CLK;
architecture Behavioral of IIC_CLK is
------------------------------------------
component CLKDIV
port (
CLK_IN : in std_logic;
CLK_RST: in std_logic;
CLK_CS : in std_logic;
CLK_NUM: in std_logic_vector ( 8 downto 0 );
CLK_OUT: out std_logic
);
end component;
------------------------------------------
------------------------------------------
signal IICaaaaSampClk: std_logic;
signal IICaaaaClk: std_logic;
signal IICDivNum0: std_logic_vector ( 8 downto 0 );
signal IICDivNum1: std_logic_vector ( 8 downto 0 );
------------------------------------------
begin
IICDivNum0 <= "000000000";
IICDivNum1 <= "000000000";
IIC_CLKOUT0 <= IICaaaaSampClk;
IIC_CLKOUT1 <= IICaaaaClk;
I2C_SampClk: CLKDIV
port map (
CLK_IN => IIC_CLKIN,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum0,
CLK_OUT => IICaaaaSampClk
);
IIC_Clk: CLKDIV
port map (
CLK_IN => IIC_CLKIN,
CLK_RST => IIC_RST,
CLK_CS => IIC_CS,
CLK_NUM => IICDivNum1,
CLK_OUT => IICaaaaClk
);
end Behavioral; |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|