OpenCores
URL https://opencores.org/ocsvn/pltbutils/pltbutils/trunk

Subversion Repositories pltbutils

[/] [pltbutils/] [trunk/] [src/] [vhdl/] [pltbutils_comp.vhd] - Diff between revs 2 and 7

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 7
Line 47... Line 47...
----------------------------------------------------------------------
----------------------------------------------------------------------
 
 
----------------------------------------------------------------------
----------------------------------------------------------------------
-- pltbutils_clkgen
-- pltbutils_clkgen
-- Creates a clock for use in a testbech.
-- Creates a clock for use in a testbech.
 
-- A non-inverted as well as an inverted output is available, 
 
-- use one or both depending on if you need a single-ended or
 
-- differential clock.
-- The clock stops when input port stop_sim goes '1'.
-- The clock stops when input port stop_sim goes '1'.
-- This makes the simulator stop (unless there are other infinite 
-- This makes the simulator stop (unless there are other infinite 
-- processes running in the simulation).
-- processes running in the simulation).
----------------------------------------------------------------------
----------------------------------------------------------------------
library ieee;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
 
 
entity pltbutils_clkgen is
entity pltbutils_clkgen is
  generic (
  generic (
    G_PERIOD : time := 10 ns
    G_PERIOD        : time := 10 ns;
 
    G_INITVALUE     : std_logic := '0'
  );
  );
  port (
  port (
    clk_o           : out std_logic;
    clk_o           : out std_logic;
 
    clk_n_o         : out std_logic;
    stop_sim_i      : in  std_logic
    stop_sim_i      : in  std_logic
  );
  );
end entity pltbutils_clkgen;
end entity pltbutils_clkgen;
 
 
architecture bhv of pltbutils_clkgen is
architecture bhv of pltbutils_clkgen is
  constant C_HALF_PERIOD    : time := G_PERIOD / 2;
  constant C_HALF_PERIOD    : time := G_PERIOD / 2;
  signal   clk              : std_logic := '0';
  signal   clk              : std_logic := G_INITVALUE;
begin
begin
 
 
  clk   <= not clk and not stop_sim_i after C_HALF_PERIOD;
  clk   <= not clk and not stop_sim_i after C_HALF_PERIOD;
  clk_o <= clk;
  clk_o <= clk;
 
  clk_n_o   <= not clk;
 
 
end architecture bhv;
end architecture bhv;
 
 
 
 
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.