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

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

?? gh_frequency_sweep_wpp.vhd

?? VHDL Library for 8254 timer/counter core
?? VHD
字號:
---------------------------------------------------------------------
--	Filename:	gh_Frequency_sweep_wpp.vhd
--
--	Description:
--		a sweep generator with ping-pong
--
--	Copyright (c) 2005, 2008 by George Huber 
--		an OpenCores.org Project
--		free to use, but see documentation for conditions 
--
--	Revision	History:
--	Revision	Date      	Author   	Comment
--	--------	----------	---------	-----------
--	1.0     	10/01/05  	h lefevre	Initial revision
--	2.0     	09/01/08  	h lefevre	initial ping pong version
--
--------------------------------------------------------

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_SIGNED.ALL;


entity gh_frequency_sweep_wpp is
	GENERIC (acc_size : INTEGER := 51;
	         step_size : INTEGER := 40;
	         freq_size : INTEGER := 32);
	Port ( 
		clk        : in std_logic;
		rst        : in std_logic;
		sw_en      : in std_logic := '1'; -- sweep enable
		min_freq   : in std_logic_vector(freq_size-1 downto 0);
		max_freq   : in std_logic_vector(freq_size-1 downto 0);
		freq_step  : in std_logic_vector(step_size-1 downto 0);
		ping_pong  : in std_logic := '0';
		LOAD       : in std_logic := '0';
		sweep_freq : out std_logic_vector(freq_size-1 downto 0);
		sweep_end  : out std_logic
		);
end entity;

architecture a of gh_frequency_sweep_wpp is

component gh_acc_ld is
	GENERIC (size: INTEGER := 16);
	PORT(	
		CLK  : IN  STD_LOGIC;
		rst  : IN  STD_LOGIC := '0';
		LOAD : IN  STD_LOGIC := '0'; 
		CE   : IN  STD_LOGIC := '1';
		D    : IN  STD_LOGIC_VECTOR(size-1 DOWNTO 0);
		Q    : OUT STD_LOGIC_VECTOR(size-1 DOWNTO 0)
		);
end component;

	signal isweep_freq    : std_logic_vector(acc_size-1 downto 0);
	signal cmp_min_freq   : std_logic;
	signal cmp_max_freq   : std_logic;
	signal sw_load        : std_logic;
	signal load_dly       : std_logic;
	signal load_mode      : std_logic_vector(2 downto 0);
	signal invert         : std_logic;
	signal isweep_end     : std_logic;
	signal sweep_end_dly  : std_logic_vector(3 downto 0);
	signal next_step      : std_logic_vector(acc_size-1 downto 0);
	signal next_step_mode : std_logic_vector(3 downto 0);
	signal sign_extend    : std_logic_vector(acc_size-step_size-1 downto 0);
	signal neg_sweep_step : std_logic_vector(acc_size-1 downto 0);
	constant zero_extend  : STD_LOGIC_VECTOR(acc_size-freq_size-1 downto 0) := (others => '0');
	
begin

	sweep_end <= isweep_end;
	
	cmp_min_freq <= '1' when (min_freq > isweep_freq(acc_size-1 downto acc_size-freq_size)) else
	                '0';	

	cmp_max_freq <= '1' when (max_freq < isweep_freq(acc_size-1 downto acc_size-freq_size)) else
	                '0';
					
process(clk,rst)
begin
	if (rst = '1') then
		isweep_end <= '0';
	elsif (rising_edge(clk)) then
		if ((cmp_min_freq = '1') or (cmp_max_freq = '1')) then
			isweep_end <= '1';
		else
			isweep_end <= '0';
		end if;
	end if;
end process;

---------------------------------------------------------------
---- when the frequency is out of range 
----    (below the min freq or above the max)
----    it is time to reload the frequency - except in ping pong mode
---------------------------------------------------------------

	load_mode <= (LOAD & load_dly & isweep_end);

process(load_mode)
begin
	case (load_mode) is
		when "100" => sw_load <= '0';
		when "101" => sw_load <= '0';
		when "110" => sw_load <= '0';
		when "111" => sw_load <= '0';
		------------------------
		when "001" => sw_load <= '1';
		------------------------
		when others => sw_load <= '0';
	end case;
end process;

---------------------------------------------------------------
----- when load is low, take a frequency step
-----   when a up sweep (the increment value is positive) 
-----          load min_freq
-----   when a down sweep, load the max_freq,
-----   unless ping pong is enabled - where step, or the 2's comp 
-----   of step is (most) always used, based on state of invert bit
---------------------------------------------------------------

	next_step_mode <= (freq_step(step_size-1) & sw_load & ping_pong & invert);
	sign_extend <= (others => freq_step(step_size-1));
	
process(next_step_mode)
begin	
	case (next_step_mode) is
		when "0100" => next_step <= (min_freq & zero_extend);
		when "0101" => next_step <= (min_freq & zero_extend);
		when "0110" => next_step <= (min_freq & zero_extend);
		when "0111" => next_step <= (min_freq & zero_extend);
		------------------------
		when "1100" => next_step <= (max_freq & zero_extend);
		when "1101" => next_step <= (max_freq & zero_extend);
		when "1110" => next_step <= (max_freq & zero_extend);
		when "1111" => next_step <= (max_freq & zero_extend);
		------------------------
		when "0011" => next_step <= neg_sweep_step;	
		when "1011" => next_step <= neg_sweep_step;
		------------------------
		when others => next_step <= (sign_extend & freq_step);
	end case;
end process;
					 
u1:	gh_acc_ld  generic map(acc_size)
	port map(
		clk => clk,
		rst => rst,
		LOAD => sw_load,
		CE => sw_en,
		D => next_step,
		Q => isweep_freq);				 

process(clk,rst)
begin
	if (rst = '1') then
		neg_sweep_step <= (others => '0');
	elsif (rising_edge(clk)) then
		neg_sweep_step <= (x"0" - (sign_extend & freq_step));
	end if;
end process;
		
---------------------------------------------------------------
-- signals added for ping pong control ------------------------
-- load_dly prevents reloading at the end of a ping pong sweep,
--  but will allow a load if a change in end points makes the 
--  current sweep position out of range
---------------------------------------------------------------

process(clk,rst)
begin
	if (rst = '1') then
		invert <= '0';
		sweep_end_dly <= (others => '0');
		load_dly <= '0';
	elsif (rising_edge(clk)) then
		if ((ping_pong = '0') or (sw_load = '1')) then
			invert <= '0';
		elsif ((isweep_end = '1') and (sweep_end_dly = x"0")) then
			invert <= (not invert);
		end if;
		sweep_end_dly(0) <= isweep_end;
		sweep_end_dly(3 downto 1) <= sweep_end_dly(2 downto 0);
		if (sweep_end_dly = x"f") then
			load_dly <= '0';
		else
			load_dly <= '1';
		end if;
	end if;
end process;
		
		
---------------------------------------------------------------
----  output register  -------------
---------------------------------------------------------------
		
process(clk,rst)
begin
	if (rst = '1') then
		sweep_freq <= (others => '0');
	elsif (rising_edge(clk)) then
		if (sw_en = '0') then
			sweep_freq <= (others => '0');
		else
			sweep_freq <= isweep_freq(acc_size-1 downto acc_size-freq_size);
		end if;
	end if;
end process;
	

end architecture;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国午夜理伦三级不卡影院| 日本麻豆一区二区三区视频| 欧美一区二区三区系列电影| 国产91精品入口| 午夜精品福利视频网站| 国产精品全国免费观看高清| 欧美一级日韩免费不卡| 一本色道久久综合亚洲aⅴ蜜桃| 久久er99精品| 偷拍一区二区三区| 亚洲男人天堂一区| 中日韩av电影| www一区二区| 欧美一级爆毛片| 欧美另类高清zo欧美| 99国内精品久久| 国产夫妻精品视频| 久国产精品韩国三级视频| 亚洲成人一区二区| 亚洲最大色网站| 中文字幕亚洲精品在线观看| 国产亚洲va综合人人澡精品| 日韩欧美国产一区在线观看| 欧美绝品在线观看成人午夜影视 | 懂色av一区二区三区免费观看| 首页综合国产亚洲丝袜| 一区二区三区国产精品| 1区2区3区欧美| 欧美高清在线一区| 国产视频不卡一区| 久久久另类综合| 久久精品人人爽人人爽| 2017欧美狠狠色| 久久久www成人免费毛片麻豆| 精品国产精品网麻豆系列| 日韩精品一区二区三区视频在线观看 | 中文字幕欧美日本乱码一线二线 | 欧美午夜精品一区| 色香蕉久久蜜桃| 在线观看91精品国产入口| 色综合一区二区| 欧美性一区二区| 欧美人xxxx| 日韩免费观看高清完整版在线观看| 3d动漫精品啪啪一区二区竹菊| 欧美日韩三级视频| 欧美一区二区三区系列电影| 日韩欧美资源站| 久久精品一区二区三区不卡牛牛| 久久精品视频在线看| 国产精品乱人伦中文| 亚洲免费色视频| 亚洲第一综合色| 久草热8精品视频在线观看| 国产在线看一区| av不卡一区二区三区| 色天天综合色天天久久| 欧美日韩综合在线免费观看| 4438成人网| 26uuu精品一区二区在线观看| 国产欧美va欧美不卡在线| 中文字幕中文在线不卡住| 伊人婷婷欧美激情| 美女网站一区二区| 国产99久久久久久免费看农村| 91香蕉视频在线| 欧美电影影音先锋| 国产午夜亚洲精品午夜鲁丝片| 国产精品成人免费在线| 亚洲一区国产视频| 久久66热re国产| 色综合天天做天天爱| 欧美一区二区三区日韩| 中文字幕电影一区| 亚洲国产精品自拍| 国产麻豆成人传媒免费观看| 91视频一区二区| 日韩欧美色综合| 亚洲人123区| 麻豆精品一区二区三区| 波多野结衣中文字幕一区| 欧美日韩夫妻久久| 国产欧美一区二区精品秋霞影院 | ㊣最新国产の精品bt伙计久久| 亚洲综合成人在线视频| 国模无码大尺度一区二区三区| 91亚洲国产成人精品一区二区三| 日韩欧美自拍偷拍| 亚洲女厕所小便bbb| 精品一区二区在线视频| 91九色最新地址| 久久精品日产第一区二区三区高清版 | 91精品国模一区二区三区| 欧美国产一区二区在线观看| 午夜视频一区二区三区| 成人av电影在线播放| 日韩欧美一级特黄在线播放| 亚洲人成精品久久久久久| 国产曰批免费观看久久久| 欧美日韩一区 二区 三区 久久精品| 久久久久久久久久久久久女国产乱| 亚洲国产色一区| 99视频精品免费视频| 精品国产露脸精彩对白| 丝袜美腿一区二区三区| 色老综合老女人久久久| 国产午夜精品一区二区| 麻豆成人91精品二区三区| 欧美无砖砖区免费| 亚洲欧洲性图库| 国产91精品露脸国语对白| 欧美va亚洲va| 免费黄网站欧美| 欧美色网一区二区| 亚洲免费观看视频| 91视频.com| 国产精品久久国产精麻豆99网站| 国模冰冰炮一区二区| 日韩欧美一区二区视频| 亚洲va韩国va欧美va| 在线欧美日韩精品| 亚洲欧美另类久久久精品2019| 成人性色生活片| 中文字幕久久午夜不卡| 国产一区二区三区四区在线观看 | 欧美日韩你懂得| 亚洲曰韩产成在线| 91蜜桃视频在线| 依依成人精品视频| 欧洲亚洲精品在线| 一区二区三区波多野结衣在线观看| 99久久综合国产精品| 中文字幕一区二区三区在线不卡 | 亚洲一卡二卡三卡四卡无卡久久| 91一区二区三区在线播放| 中文字幕一区二区三中文字幕| 成人午夜激情片| 中文字幕在线观看一区二区| 成人精品免费网站| 综合网在线视频| 在线视频观看一区| 天堂va蜜桃一区二区三区| 制服丝袜亚洲精品中文字幕| 免费成人你懂的| 久久网这里都是精品| 成人永久看片免费视频天堂| 国产精品视频一二| 色先锋资源久久综合| 亚洲国产精品麻豆| 日韩一区二区三区电影| 久久草av在线| 欧美激情综合在线| 色香蕉久久蜜桃| 日本视频中文字幕一区二区三区| 欧美一级二级在线观看| 国产乱码精品一品二品| 国产精品久线在线观看| 欧美视频精品在线| 日韩高清在线电影| 国产午夜亚洲精品不卡| 色哟哟在线观看一区二区三区| 图片区小说区国产精品视频| 欧美电影精品一区二区| 成人黄页毛片网站| 亚洲一二三四久久| 精品国产三级a在线观看| 成人免费av资源| 亚洲.国产.中文慕字在线| 欧美α欧美αv大片| www.欧美色图| 日韩电影在线免费看| 中文字幕国产精品一区二区| 欧美午夜精品一区二区三区| 极品销魂美女一区二区三区| 国产精品久久久久久久久久免费看| 欧美午夜精品久久久久久孕妇| 久久99热狠狠色一区二区| 136国产福利精品导航| 91麻豆精品国产自产在线 | 亚洲色图色小说| 6080yy午夜一二三区久久| 国产91精品免费| 视频一区视频二区在线观看| 国产欧美一区二区精品忘忧草 | 美日韩一区二区| 亚洲素人一区二区| 精品久久久久久久久久久久久久久久久 | 国产自产v一区二区三区c| 亚洲精品国产高清久久伦理二区| 日韩视频中午一区| 日本精品裸体写真集在线观看| 黄页网站大全一区二区| 亚洲一区二区三区四区的| 亚洲国产成人私人影院tom | 欧美极品xxx| 日韩三级视频中文字幕| 色呦呦网站一区| 国产成人久久精品77777最新版本| 午夜伊人狠狠久久| 亚洲伦理在线免费看|