⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clk_core_exdes.vhd

📁 32位单精度浮点加法器
💻 VHD
字号:
-- file: clk_core_exdes.vhd-- -- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved.-- -- This file contains confidential and proprietary information-- of Xilinx, Inc. and is protected under U.S. and-- international copyright and other intellectual property-- laws.-- -- DISCLAIMER-- This disclaimer is not a license and does not grant any-- rights to the materials distributed herewith. Except as-- otherwise provided in a valid license issued to you by-- Xilinx, and to the maximum extent permitted by applicable-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON--- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and-- (2) Xilinx shall not be liable (whether in contract or tort,-- including negligence, or under any other theory of-- liability) for any loss or damage of any kind or nature-- related to, arising under or in connection with these-- materials, including for any direct, or any indirect,-- special, incidental, or consequential loss or damage-- (including loss of data, profits, goodwill, or any type of-- loss or damage suffered as a result of any action brought-- by a third party) even if such damage or loss was-- reasonably foreseeable or Xilinx had been advised of the-- possibility of the same.-- -- CRITICAL APPLICATIONS-- Xilinx products are not designed or intended to be fail--- safe, or for use in any application requiring fail-safe-- performance, such as life-support or safety devices or-- systems, Class III medical devices, nuclear facilities,-- applications related to the deployment of airbags, or any-- other applications that could lead to death, personal-- injury, or severe property or environmental damage-- (individually and collectively, "Critical-- Applications"). Customer assumes the sole risk and-- liability of any use of Xilinx products in Critical-- Applications, subject only to applicable laws and-- regulations governing limitations on product liability.-- -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS-- PART OF THIS FILE AT ALL TIMES.-- -------------------------------------------------------------------------------- Clocking wizard example design-------------------------------------------------------------------------------- This example design instantiates the created clocking network, where each--   output clock drives a counter. The high bit of each counter is ported.------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;use ieee.numeric_std.all;library unisim;use unisim.vcomponents.all;entity clk_core_exdes isgeneric (  TCQ               : in time := 100 ps);port (-- Clock in ports  CLK_IN1           : in  std_logic;  -- Reset that only drives logic in example design  COUNTER_RESET     : in  std_logic;  -- High bits of counters driven by clocks  COUNT             : out std_logic_vector(2 downto 1);  -- Status and control signals  RESET             : in  std_logic;  LOCKED            : out std_logic );end clk_core_exdes;architecture xilinx of clk_core_exdes is  -- Parameters for the counters  ---------------------------------  -- Counter width  constant C_W        : integer := 16;  -- Number of counters  constant NUM_C      : integer := 2;  -- Array typedef  type ctrarr is array (1 to NUM_C) of std_logic_vector(C_W-1 downto 0);  -- When the clock goes out of lock, reset the counters  signal   locked_int : std_logic;  signal   reset_int  : std_logic                     := '0';  -- Declare the clocks and counters  signal   clk        : std_logic_vector(NUM_C downto 1);  signal   clk_int    : std_logic_vector(NUM_C downto 1);  signal   counter    : ctrarr := (( others => (others => '0')));component clk_core isport (-- Clock in ports  CLK_IN1           : in     std_logic;  -- Clock out ports  CLK_OUT1          : out    std_logic;  CLK_OUT2          : out    std_logic;  -- Status and control signals  RESET             : in     std_logic;  LOCKED            : out    std_logic );end component;begin  -- Alias output to internally used signal  LOCKED    <= locked_int;  -- When the clock goes out of lock, reset the counters  reset_int <= (not locked_int) or RESET or COUNTER_RESET;  -- Instantiation of the clocking network  ----------------------------------------  clknetwork : clk_core  port map   (-- Clock in ports    CLK_IN1            => CLK_IN1,    -- Clock out ports    CLK_OUT1           => clk_int(1),    CLK_OUT2           => clk_int(2),    -- Status and control signals    RESET              => RESET,    LOCKED             => locked_int);  -- Connect the output clocks to the design  -------------------------------------------  clk(1) <= clk_int(1);  clkout2_buf : BUFG  port map   (O => clk(2),    I => clk_int(2));  -- Output clock sampling  -------------------------------------  counters: for count_gen in 1 to NUM_C generate begin    process (clk(count_gen)) begin      if (rising_edge(clk(count_gen))) then        if (reset_int = '1') then          counter(count_gen) <= (others => '0') after TCQ;        else          counter(count_gen) <= counter(count_gen) + 1 after TCQ;        end if;      end if;    end process;    -- alias the high bit of each counter to the corresponding    --   bit in the output bus    COUNT(count_gen) <= counter(count_gen)(C_W-1);  end generate counters;end xilinx;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -