📄 sc_corproc.vhd
字号:
---- sc_corproc.vhd---- Calculates Sine and Cosine values---- uses: p2r_codic.vhd and p2r_cordicpipe.vhd---- -90DEG TO +90DEG--根据三角函数的公式进行简单修改可以实现-180DEG到+180DEG(或者是其他范围的值)的SINE,COSINE值--例如:--sin(π/2+α)=cosα--cos(π/2+α)=-sinα---- system delay: 21 (data out delay: 20)--library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity sc_corproc is port( clk : in std_logic; ena : in std_logic; Ain : in signed(15 downto 0); sin : out signed(15 downto 0); cos : out signed(15 downto 0) );end entity sc_corproc;architecture dataflow of sc_corproc is constant PipeLength : natural := 15; constant P : signed(15 downto 0) := x"4dba"; -- define aggregate constant component p2r_cordic is generic( PIPELINE : integer := 15; WIDTH : integer := 16); port( clk : in std_logic; ena : in std_logic; Xi : in signed(WIDTH -1 downto 0); Yi : in signed(WIDTH -1 downto 0) := (others => '0'); Zi : in signed(WIDTH -1 downto 0); Xo : out signed(WIDTH -1 downto 0); Yo : out signed(WIDTH -1 downto 0) ); end component p2r_cordic;begin u1: p2r_cordic generic map(PIPELINE => PipeLength, WIDTH => 16) port map(clk => clk, ena => ena, Xi => P, Zi => Ain, Xo => cos, Yo => sin);end architecture dataflow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -