亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gh_sincos.vhd

?? VHDL Library for 8254 timer/counter core
?? VHD
字號:
-----------------------------------------------------------------------------
--	Filename:	gh_sincos.vhd
--
--	Description:
--		uses the cordic algorithm to generate sin/cos 
--
--	Copyright (c) 2005, 2006 by George Huber 
--		an OpenCores.org Project
--		free to use, but see documentation for conditions 
--
--	Revision 	History:
--	Revision 	Date      	Author   	Comment
--	-------- 	----------	---------	-----------
--	1.0      	09/03/05  	S A Dodd 	Initial revision
--	2.0     	09/18/05  	h LeFevre	add gh_ to library parts
--	3.0     	03/25/06  	S A Dodd 	mod to use only +/- 45 deg of cordec
--
-----------------------------------------------------------------------------

LIBRARY ieee;
USE ieee.std_logic_1164.all;
use IEEE.STD_LOGIC_arith.all;
use IEEE.std_logic_unsigned.all;

entity gh_sincos is
	GENERIC (size: INTEGER := 16);	-- max value for width is 16
	port(
		clk  : in STD_LOGIC;
	 	rst  : in STD_LOGIC; 
		add  : in STD_LOGIC_VECTOR(size-1 downto 0);
		sin  : out STD_LOGIC_VECTOR(size-1 downto 0);
		cos  : out STD_LOGIC_VECTOR(size-1 downto 0)
		);
end entity;

architecture a of gh_sincos is

component gh_cordic_rotation is
	GENERIC (size: INTEGER := 16;
	         iterations: INTEGER := 15);
	PORT(
		clk  : IN  STD_LOGIC;
		rst : in STD_LOGIC;
		x_in , y_in, z_in   : IN  STD_LOGIC_VECTOR (size-1 downto 0);
		x_out, y_out : OUT STD_LOGIC_VECTOR (size-1 downto 0);
		z_out : OUT STD_LOGIC_VECTOR (19 downto 0)
		);
end component;

component gh_delay_bus IS
	GENERIC (clock_delays : INTEGER := 16;
	         size : INTEGER := 8); 
	PORT(
		clk  : IN STD_logic;
		rst  : IN STD_logic;
		srst : IN STD_logic := '0';
		D    : IN STD_LOGIC_VECTOR(size-1 DOWNTO 0);
		Q    : OUT STD_LOGIC_VECTOR(size-1 DOWNTO 0)
		);
end component;

component gh_register is	
	GENERIC (size: INTEGER := 8);
	PORT(	
		clk : IN		STD_LOGIC;
		rst : IN		STD_LOGIC; 
		D   : IN		STD_LOGIC_VECTOR(size-1 DOWNTO 0);
		Q   : OUT		STD_LOGIC_VECTOR(size-1 DOWNTO 0)
		);
end component;

	constant iterations : INTEGER := size;

	signal iadd   : STD_LOGIC_VECTOR(size-1 DOWNTO 0);
	signal csin   : STD_LOGIC_VECTOR(size-1 DOWNTO 0);
	signal ccos   : STD_LOGIC_VECTOR(size-1 DOWNTO 0);
	signal isin   : STD_LOGIC_VECTOR(size-1 DOWNTO 0);
	signal icos   : STD_LOGIC_VECTOR(size-1 DOWNTO 0);
	signal adj_C  : std_logic_VECTOR(2 DOWNTO 0);
	signal iadj_C : std_logic_VECTOR(2 DOWNTO 0);




-------------------------------------------------------------------
------------- constants -------------------------------------------

	constant ipi : STD_LOGIC_VECTOR(15 DOWNTO 0) := x"8000";
	constant pi : STD_LOGIC_VECTOR(size-1 DOWNTO 0) := ipi(15 downto 16 - size);
	constant ihalf_pi : STD_LOGIC_VECTOR(15 DOWNTO 0) := x"4000";
	constant half_pi : STD_LOGIC_VECTOR(size-1 DOWNTO 0) 
	         := ihalf_pi(15 downto 16 - size);
	constant ipi_and_half : STD_LOGIC_VECTOR(15 DOWNTO 0) := x"C000";
	constant pi_and_half : STD_LOGIC_VECTOR(size-1 DOWNTO 0) 
	         := ipi_and_half(15 downto 16 - size);	
	constant zero : STD_LOGIC_VECTOR(size-1 DOWNTO 0) := (others => '0');
	-- mag and scale adjust the output level to prevent 
	-- the CORDIC gain from causing an overflow
	constant mag : STD_LOGIC_VECTOR(15 DOWNTO 0) := x"4dba";
	constant scale : STD_LOGIC_VECTOR(size-1 DOWNTO 0) := mag(15 downto 16 - size) - x"03";

-------------------------------------------------------------------	
	
begin

------ the CORDIC is used from -pi/4 to +pi/4 
------  the 3 MSB's are used to determine octant

	iadj_C <= (add(size-1 downto size-3));

------ the CORDIC phase input (add)
------ is addjusted when it is outside range of -pi/4 to +pi/4 

process (iadj_C,add)
begin
case iadj_C is
	when o"0" => 
		iadd <= add;
	when o"1" => 
		iadd <= (half_pi - add);
	when o"2" =>
		iadd <= (add - half_pi);
	when o"3" =>
		iadd <= (pi - add);
	when o"4" =>
		iadd <= (pi - add);
	when o"5" =>
		iadd <= (add - pi_and_half);
	when o"6" =>
		iadd <= (pi_and_half - add);
	when others => 
		iadd <= add;	
end case;	
end process;

----------------------------------

	u1:	gh_cordic_rotation  generic map(size,iterations)
		port map(
			clk => clk,
			rst => rst,
			x_in => scale,
			y_in => zero,
			z_in => iadd,
			x_out => ccos,
			y_out => csin,
			z_out => open);	
	
----- delay iadj_c to line up with CORDIC output 

	u3:	gh_delay_bus generic map (clock_delays => iterations-1, size => 3)
	              port map(
	              clk => clk, 
	              rst => rst, 
	              D => iadj_C, 
	              Q => adj_C);
	
----- adjust output to cover full 2 pi range

process (adj_C,ccos,csin)
begin
case adj_C is
	when o"0" => 
		icos <= ccos;          
		isin <= csin;
	when o"1" => 
		icos <= csin;          
		isin <= ccos;
	when o"2" => 
		icos <= (x"0" - csin); 
		isin <= ccos;
	when o"3" => 
		icos <= (x"0" - ccos); 
		isin <= csin;
	when o"4" => 
		icos <= (x"0" - ccos); 
		isin <= csin;
	when o"5" => 
		icos <= csin;          
		isin <= (x"0" - ccos);
	when o"6" => 
		icos <= (x"0" - csin); 
		isin <= (x"0" - ccos);
--	when o"7" => 
	when others => 
		icos <= ccos;          
		isin <= csin;	
end case;	
end process;

------------------- register output 

	u4: gh_register generic map (size) 
	           port map (clk,rst,isin,sin);

	u5: gh_register generic map (size) 
	           port map (clk,rst,icos,cos);
	
end a;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产成人在线免费| 一区二区视频在线| 亚洲日本免费电影| 日本特黄久久久高潮| 成人国产精品免费网站| 51久久夜色精品国产麻豆| 国产精品色婷婷久久58| 日本中文一区二区三区| 91原创在线视频| 久久久不卡网国产精品一区| 午夜精品一区二区三区三上悠亚| 国产成人午夜99999| 日韩三级在线免费观看| 亚洲精品精品亚洲| 成人黄色免费短视频| 精品国产一区二区三区不卡 | 国产精品不卡在线观看| 日产国产高清一区二区三区| 色国产综合视频| 国产精品国产三级国产普通话蜜臀 | 亚洲精品一二三区| 国产999精品久久久久久| 欧美草草影院在线视频| 青草av.久久免费一区| 欧美精品aⅴ在线视频| 亚洲国产精品久久人人爱| 91亚洲永久精品| 亚洲欧洲在线观看av| 成人性生交大片免费看视频在线 | 欧美亚洲高清一区| 亚洲精品视频在线观看免费| 成人激情免费网站| 国产精品免费久久| 成人蜜臀av电影| 中文字幕第一页久久| 国产在线播精品第三| 欧美精品一区二| 国产真实精品久久二三区| 精品捆绑美女sm三区| 麻豆91在线看| 久久先锋影音av| 国产.欧美.日韩| 中文字幕不卡一区| 91啪九色porn原创视频在线观看| 中文字幕成人在线观看| 99re66热这里只有精品3直播 | 91精选在线观看| 日本va欧美va瓶| 精品国产乱子伦一区| 毛片av中文字幕一区二区| 精品va天堂亚洲国产| 国产电影精品久久禁18| 国产精品久久久久婷婷二区次| 99精品欧美一区二区三区综合在线| 中文字幕一区二区三区在线播放 | 自拍偷在线精品自拍偷无码专区| 99国产一区二区三精品乱码| 亚洲最新视频在线播放| 91精品国产一区二区| 国产一区二区日韩精品| 亚洲人123区| 欧美一区二区三区四区久久| 国精产品一区一区三区mba桃花| 国产欧美日韩另类一区| 91福利社在线观看| 老司机精品视频导航| 国产精品成人免费精品自在线观看| 91高清视频在线| 精品一区二区av| 国产精品亲子伦对白| 欧美日韩成人在线一区| 国产福利一区在线观看| 亚洲专区一二三| 久久精品夜色噜噜亚洲aⅴ| 96av麻豆蜜桃一区二区| 久久精品国产久精国产| 亚洲婷婷综合久久一本伊一区| 欧美高清激情brazzers| www.久久精品| 秋霞午夜av一区二区三区| 国产精品久久久久国产精品日日| 欧美人体做爰大胆视频| 成人短视频下载| 蜜臀精品一区二区三区在线观看| 中文字幕在线一区免费| 欧美成人三级在线| 欧美三级中文字| 白白色 亚洲乱淫| 久久国产日韩欧美精品| 亚洲国产日韩a在线播放性色| 亚洲国产精品av| 精品国产在天天线2019| 欧美视频一区二| 91在线精品一区二区| 国产综合久久久久久鬼色| 午夜欧美视频在线观看| 中文字幕一区三区| 欧美国产一区视频在线观看| 精品嫩草影院久久| 欧美肥胖老妇做爰| 欧美无乱码久久久免费午夜一区| 成人h精品动漫一区二区三区| 精品午夜久久福利影院| 蜜桃久久久久久久| 天天综合色天天综合色h| 亚洲曰韩产成在线| 一区二区三区成人| 亚洲猫色日本管| 亚洲同性gay激情无套| 国产精品每日更新| 国产精品久久毛片av大全日韩| 2020国产精品久久精品美国| 日韩精品资源二区在线| 日韩欧美色综合| 在线播放91灌醉迷j高跟美女| 欧美在线不卡一区| 在线观看av一区| 色www精品视频在线观看| 99国产精品99久久久久久| 99综合电影在线视频| 不卡的av中国片| 91蜜桃免费观看视频| 91免费观看在线| 日本高清不卡一区| 欧美日韩午夜在线视频| 欧美日韩夫妻久久| 日韩欧美一区中文| 久久午夜老司机| 国产精品国产a级| 椎名由奈av一区二区三区| 亚洲自拍都市欧美小说| 午夜亚洲福利老司机| 日韩黄色小视频| 国产伦理精品不卡| 99久久精品久久久久久清纯| 欧日韩精品视频| 欧美一级日韩不卡播放免费| 26uuu精品一区二区| 国产精品丝袜一区| 亚洲一区二区在线免费看| 性感美女极品91精品| 精品一区二区在线观看| 成人黄色软件下载| 欧美在线啊v一区| 精品噜噜噜噜久久久久久久久试看| 久久久久久久网| 一区二区久久久| 老司机精品视频在线| 97国产精品videossex| 7777精品伊人久久久大香线蕉经典版下载 | 三级欧美在线一区| 国产一区二区三区日韩| 色综合久久中文字幕| 日韩女优av电影在线观看| 国产精品国产三级国产aⅴ无密码| 亚洲狠狠丁香婷婷综合久久久| 美女网站色91| 91蜜桃网址入口| 精品av综合导航| 亚洲妇女屁股眼交7| 国产麻豆精品视频| 欧美日韩不卡视频| 欧美国产一区二区| 日韩电影一二三区| 91国内精品野花午夜精品| www日韩大片| 日日夜夜免费精品| 91香蕉视频黄| 久久精品免费在线观看| 日韩精品一区第一页| av在线不卡电影| 精品国产成人系列| 亚洲1区2区3区视频| 99国产精品久久| 久久精品欧美一区二区三区不卡| 亚洲在线观看免费视频| 成人亚洲一区二区一| 欧美成va人片在线观看| 亚洲午夜久久久久| 99精品1区2区| 国产精品蜜臀av| 国产精品99久久久久久似苏梦涵| 91精品国产综合久久精品麻豆| 亚洲欧美国产毛片在线| 国产精品自拍三区| 欧美va亚洲va在线观看蝴蝶网| 亚洲电影一区二区三区| 色综合色狠狠综合色| 中文字幕精品在线不卡| 国产一区二区久久| 精品美女一区二区三区| 免费观看日韩电影| 欧美一区二区在线观看| 丝袜美腿亚洲一区二区图片| 色8久久精品久久久久久蜜| 亚洲精品久久久久久国产精华液 | 国内成人免费视频| 日韩美女天天操| 激情综合亚洲精品| 久久综合久久综合亚洲|