* Add wrapper for 24-bit sine generator.
This commit is contained in:
parent
9873f91e8e
commit
42046dc818
|
@ -0,0 +1,64 @@
|
||||||
|
--
|
||||||
|
-- Sine / cosine function core
|
||||||
|
--
|
||||||
|
-- Phase input:
|
||||||
|
-- unsigned 26 bits (2**26 steps for a full circle)
|
||||||
|
--
|
||||||
|
-- Sin/cos output:
|
||||||
|
-- signed 24 bits (nominal amplitude = 2**23-1)
|
||||||
|
--
|
||||||
|
-- Latency:
|
||||||
|
-- 9 clock cycles
|
||||||
|
--
|
||||||
|
-- Copyright 2016 Joris van Rantwijk
|
||||||
|
--
|
||||||
|
-- This design is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public
|
||||||
|
-- License as published by the Free Software Foundation; either
|
||||||
|
-- version 2.1 of the License, or (at your option) any later version.
|
||||||
|
--
|
||||||
|
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
|
||||||
|
entity sincos_gen_d24_p26 is
|
||||||
|
|
||||||
|
port (
|
||||||
|
-- System clock, active on rising edge.
|
||||||
|
clk: in std_logic;
|
||||||
|
|
||||||
|
-- Clock enable.
|
||||||
|
clk_en: in std_logic;
|
||||||
|
|
||||||
|
-- Phase input.
|
||||||
|
in_phase: in unsigned(25 downto 0);
|
||||||
|
|
||||||
|
-- Sine output.
|
||||||
|
-- (9 clock cycles latency after in_phase).
|
||||||
|
out_sin: out signed(23 downto 0);
|
||||||
|
|
||||||
|
-- Cosine output.
|
||||||
|
-- (9 clock cycles latency after in_phase).
|
||||||
|
out_cos: out signed(23 downto 0) );
|
||||||
|
|
||||||
|
end entity;
|
||||||
|
|
||||||
|
architecture rtl of sincos_gen_d24_p26 is
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
gen0: entity work.sincos_gen
|
||||||
|
generic map (
|
||||||
|
data_bits => 24,
|
||||||
|
phase_bits => 26,
|
||||||
|
table_addrbits => 10,
|
||||||
|
taylor_order => 2 )
|
||||||
|
port map (
|
||||||
|
clk => clk,
|
||||||
|
clk_en => clk_en,
|
||||||
|
in_phase => in_phase,
|
||||||
|
out_sin => out_sin,
|
||||||
|
out_cos => out_cos );
|
||||||
|
|
||||||
|
end architecture;
|
Loading…
Reference in New Issue