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

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

?? address.vhd

?? 電子設計大賽作品_音頻信號分析儀的FPGA源碼(一等獎)
?? VHD
字號:
------------------------------------------------------------------------------------------------------- Title       : address-- Design      : cfft-- Author      : ZHAO Ming-- email	   : sradio@opencores.org--------------------------------------------------------------------------------------------------------- File        : address.vhd-- Generated   : Thu Oct  3 01:44:47 2002--------------------------------------------------------------------------------------------------------- Description : Generate RAM read write address and start finish control signal--------------------------------------------------------------------------------------------------------- Revisions       :	0-- Revision Number : 	1-- Version         :	1.1.0-- Date            :	Oct 17 2002-- Modifier        :   	ZHAO Ming -- Desccription    :    Data width configurable	--------------------------------------------------------------------------------------------------------- Revisions       :	0-- Revision Number : 	2-- Version         :	1.2.0-- Date            :	Oct 18 2002-- Modifier        :   	ZHAO Ming -- Desccription    :    Data width configurable	--------------------------------------------------------------------------------------------------------- Revisions       :	1-- Revision Number : 	2-- Version         :	1.2.1-- Date            :	Oct 19 2002-- Modifier        :   	ZHAO Ming -- Desccription    :    modified fuction counter2address for syn	--						add rmask1,rmask2,wmask1,wmask2 signal--------------------------------------------------------------------------------------------------------- Revisions       :	0-- Revision Number : 	3-- Version         :	1.3.0-- Date            :	Nov 19 2002-- Modifier        :   	ZHAO Ming -- Desccription    :    add output data position indication --	             -----------------------------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_ARITH.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_signed.all;entity address is	generic (		WIDTH : Natural;		POINT : Natural;		STAGE : Natural	);	 port(		 clk : in STD_LOGIC;		 rst : in STD_LOGIC;		 start : in STD_LOGIC;		 Iin : in std_logic_vector( WIDTH-1 downto 0 );		 Qin : in std_logic_vector( WIDTH-1 downto 0 );		 fftI : in std_logic_vector( WIDTH-1 downto 0 );		 fftQ : in std_logic_vector( WIDTH-1 downto 0 );		 wdataI : out std_logic_vector( WIDTH-1 downto 0 );		 wdataQ : out std_logic_vector( WIDTH-1 downto 0 );		 raddr : out STD_LOGIC_VECTOR(STAGE*2-1 downto 0);		 waddr : out STD_LOGIC_VECTOR(STAGE*2-1 downto 0);		 wen : out std_logic;		 factorstart : out STD_LOGIC;		 cfft4start : out STD_LOGIC;		 outdataen : out std_logic;		 inputbusy : out std_logic;		 OutPosition : out STD_LOGIC_VECTOR( 2*STAGE-1 downto 0 )	     );end address;architecture address of address is--	function counter2addr(counter : std_logic_vector; state:std_logic_vector) return std_logic_vector is--	variable result	:std_logic_vector(counter'range);--	variable istate : Natural;--	begin					  --		istate:=CONV_INTEGER(unsigned(state));--		if istate=0	then--			result := counter( 1 downto 0 )&counter( counter'high downto 2 );--		elsif istate=(counter'high-1)/2 then--			result := counter;--		elsif istate<(counter'high-1)/2 then--			result := counter( counter'high downto counter'high-istate*2+1 )&counter( 1 downto 0 )&counter( counter'high-istate*2 downto 2 );--		else--			result := counter;--		end if;--		return result;--	end counter2addr;	function counter2addr(		counter : std_logic_vector; 		mask1:std_logic_vector;		mask2:std_logic_vector	) return std_logic_vector is	variable result	:std_logic_vector(counter'range);	begin					  		for n in mask1'range loop			if mask1(n)='1' then				result( 2*n+1 downto 2*n ):=counter( 1 downto 0 );			elsif mask2(n)='1' and n/=STAGE-1 then				result( 2*n+1 downto 2*n ):=counter( 2*n+3 downto 2*n+2 );			else				result( 2*n+1 downto 2*n ):=counter( 2*n+1 downto 2*n );			end if;		end loop;		return result;	end counter2addr;	function outcounter2addr(		counter : std_logic_vector 	) return std_logic_vector is	variable result	:std_logic_vector(counter'range);	begin					  		for n in 0 to STAGE-1 loop			result( 2*n+1 downto 2*n ):=counter( counter'high-2*n downto counter'high-2*n-1 );		end loop;		return result;	end outcounter2addr;signal rstate,wstate,state:std_logic_vector( 3 downto 0 );signal rmask1,rmask2,wmask1,wmask2:std_logic_vector( STAGE-1 downto 0 );signal counter,wcounter,rcounter:std_logic_vector( STAGE*2-1 downto 0 );signal outcounter:std_logic_vector( STAGE*2 downto 0 );constant FFTDELAY:integer:=12+2*STAGE;constant FACTORDELAY:integer:=6;constant OUTDELAY:integer:=7;beginoutdataen<=outcounter(STAGE*2);OutPosition<=outcounter2addr( outcounter( STAGE*2-1 downto 0 ));count:process( clk, rst )begin	if rst='1' then		counter<=( others=>'0' );		state<=CONV_STD_LOGIC_VECTOR( STAGE+1,4);	elsif clk'event and clk='1' then		if start='1' then			counter<=( others=>'0' );			state<=(others=>'0');		elsif unsigned(state)/=STAGE+1 then			counter<=unsigned(counter)+1;			if signed(counter)=-1 then				state<=unsigned(state)+1;			end if;		end if;	end if;end process count;readaddr:process( clk,rst )begin	if rst='1' then		raddr<=( others=>'0' );		rcounter<=( others=>'0' );		rstate<=( others=>'0' );												rmask1<=( others=>'0' );												rmask2<=( others=>'0' );											elsif clk'event and clk='1' then		if unsigned(state)=0 and signed(counter)=-1 then			rmask1(STAGE-1)<='1';			rmask1(STAGE-2 downto 0)<=(others=>'0');			rmask2(STAGE-1)<='0';			rmask2(STAGE-2 downto 0)<=(others=>'1');		elsif signed(counter)=-1 then			rmask1<='0'&rmask1( STAGE-1 downto 1 );			rmask2<='0'&rmask2( STAGE-1 downto 1 );		end if;			if unsigned(state)/=STAGE+1 and signed(counter)=-1 then			rcounter<=( others=>'0' );			rstate<=state;		else			rcounter<=unsigned(rcounter)+1;		end if;		raddr<=counter2addr( rcounter, rmask1, rmask2 );--		modified for point configurable--		case rstate is--			when "000" =>--			raddr<=rcounter( 1 downto 0 )&rcounter( 9 downto 2);--			when "001" =>--			raddr<=rcounter( 9 downto 8 )&rcounter( 1 downto 0 )&rcounter( 7 downto 2);--			when "010" =>--			raddr<=rcounter( 9 downto 6 )&rcounter( 1 downto 0 )&rcounter( 5 downto 2);--			when "011" =>--			raddr<=rcounter( 9 downto 4 )&rcounter( 1 downto 0 )&rcounter( 3 downto 2);--			when "100" =>--			raddr<=rcounter( 9 downto 2 )&rcounter( 1 downto 0 );--			when others =>--			raddr<=( others=> '0' );--		end case;	end if;end process readaddr;writeaddr:process( clk,rst )begin	if rst='1' then		waddr<=( others=>'0' );		wcounter<=( others=>'0' );		wstate<=( others=>'0' );					 		wmask1<=( others=>'0' );		wmask2<=( others=>'0' );	elsif clk'event and clk='1' then		if unsigned(state)=0 then			waddr<=counter;		else								if UNSIGNED(rstate)=0 and unsigned(rcounter)=FFTDELAY-1 then				wmask1(STAGE-1)<='1';				wmask1(STAGE-2 downto 0)<=(others=>'0');				wmask2(STAGE-1)<='0';				wmask2(STAGE-2 downto 0)<=(others=>'1');			elsif unsigned(rcounter)=FFTDELAY-1 then				wmask1<='0'&wmask1( STAGE-1 downto 1 );				wmask2<='0'&wmask2( STAGE-1 downto 1 );			end if;			if UNSIGNED(rstate)<STAGE and unsigned(rcounter)=FFTDELAY-1 then				wcounter<=( others=>'0' );				wstate<=rstate;			else				wcounter<=unsigned(wcounter)+1;			end if;				   			waddr<=counter2addr( wcounter, wmask1, wmask2 );--			modified for point configurable--			case wstate is--				when "000" =>--				waddr<=wcounter( 1 downto 0 )&wcounter( 9 downto 2);--				when "001" =>--				waddr<=wcounter( 9 downto 8 )&wcounter( 1 downto 0 )&wcounter( 7 downto 2);--				when "010" =>--				waddr<=wcounter( 9 downto 6 )&wcounter( 1 downto 0 )&wcounter( 5 downto 2);--				when "011" =>--				waddr<=wcounter( 9 downto 4 )&wcounter( 1 downto 0 )&wcounter( 3 downto 2);--				when others =>--				waddr<=( others=> '0' );--			end case;		end if;	end if;end process writeaddr;writeen : process( clk, rst )begin	if rst='1' then		wen<='0';	elsif clk'event and clk='1' then		if unsigned(state)=0 then			wen<='1';		elsif unsigned(state)=1 and unsigned(counter)=0 then			wen<='0';		elsif unsigned(rstate)=0 and unsigned(rcounter)=FFTDELAY then			wen<='1';		elsif unsigned(rstate)=STAGE-1 and unsigned(rcounter)=FFTDELAY then			wen<='0';		end if;	end if;end process writeen;otherstart : process( clk, rst )begin	if rst='1' then		factorstart<='0';		cfft4start<='0';		outcounter<=(others=>'0');		inputbusy<='0';	elsif clk'event and clk='1' then		if start='1' then			inputbusy<='1';		elsif unsigned(state)=STAGE and unsigned(counter)=FFTDELAY  then			inputbusy<='0';		end if;		if unsigned(state)=1 and unsigned(counter)=0 then			cfft4start<='1';		else			cfft4start<='0';		end if;		if unsigned(rstate)=0 and unsigned(rcounter)=FACTORDELAY then			factorstart<='1';		else			factorstart<='0';		end if;		if unsigned(state)=STAGE and unsigned(rcounter)=OUTDELAY then			outcounter<=CONV_STD_LOGIC_VECTOR(POINT,2*STAGE+1);		elsif outcounter(STAGE*2)='1' then			outcounter<=unsigned(outcounter)+1;		end if;   end if;end process otherstart;datasel : process( clk,rst )begin	if rst='1' then		wdataI<=( others=>'0' );		wdataQ<=( others=>'0' );	elsif clk'event and clk='1' then		if unsigned(state)=0 then			wdataI<=Iin;			wdataQ<=Qin;		else			wdataI<=fftI;			wdataQ<=fftQ;		end if;	end if;end process datasel;end address;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品2019中文字幕之3| 一级做a爱片久久| 国产精品白丝在线| 亚洲欧美电影一区二区| 日韩二区三区在线观看| 99视频热这里只有精品免费| 日韩三级视频在线看| 亚洲综合成人在线视频| 成人午夜视频福利| 精品免费视频一区二区| 香蕉久久夜色精品国产使用方法| 亚洲视频一区在线| 国产综合色产在线精品| 欧美日韩一区三区| 亚洲天堂福利av| 高清国产午夜精品久久久久久| 国产毛片精品一区| 日韩欧美一级二级三级| 亚洲va欧美va人人爽| 色偷偷一区二区三区| 久久综合av免费| 美腿丝袜亚洲色图| 欧美日韩成人综合| 亚洲国产sm捆绑调教视频| 懂色av一区二区三区免费观看| 成人免费看的视频| 国产色91在线| 久久av老司机精品网站导航| 欧美日韩精品二区第二页| 亚洲一区精品在线| 欧美亚洲综合色| 亚洲丝袜美腿综合| 91网站最新网址| 中文字幕一区二区三区精华液| 一区二区三区视频在线看| 成人免费黄色大片| 中文字幕在线一区| 99精品国产一区二区三区不卡| 欧美午夜精品免费| 亚洲欧美日韩久久| 91激情在线视频| 亚洲精品视频在线观看网站| 欧美色中文字幕| 视频精品一区二区| 精品少妇一区二区三区视频免付费 | 不卡一区中文字幕| 国产精品国产三级国产有无不卡 | 欧美一区二区三区男人的天堂| 欧美一区二区三区四区高清| 免费成人小视频| 日韩精品一区二区三区视频在线观看 | 91在线播放网址| 一区二区三区在线免费视频| 欧美日韩国产天堂| 蜜桃久久久久久久| 欧美国产综合一区二区| 日本韩国一区二区三区| www.成人在线| 亚洲婷婷国产精品电影人久久| 舔着乳尖日韩一区| 91精品在线麻豆| 国产风韵犹存在线视精品| 亚洲欧美日韩在线| 日韩欧美一二三| 播五月开心婷婷综合| 香港成人在线视频| 久久久精品人体av艺术| 欧美日韩在线亚洲一区蜜芽| 激情综合色综合久久综合| 日韩理论片一区二区| 欧美日韩一卡二卡三卡 | 亚洲三级在线观看| 欧美精品一卡两卡| 成人性生交大合| 亚洲午夜久久久久久久久久久| 国产精品18久久久久久久久久久久 | 色狠狠桃花综合| 喷白浆一区二区| 自拍视频在线观看一区二区| 欧美日韩高清在线| 成人av影视在线观看| 蜜乳av一区二区三区| 看电影不卡的网站| 亚洲日本va午夜在线影院| 26uuu欧美| 欧美一级高清片在线观看| 色婷婷久久一区二区三区麻豆| 欧美激情中文字幕| 欧美一级片在线| 色婷婷国产精品| 国产aⅴ综合色| 蜜桃av一区二区在线观看| 国产精品久久久久一区二区三区共 | 久久综合色之久久综合| 色88888久久久久久影院按摩| 亚洲婷婷综合色高清在线| 欧美精品一区二区久久久| 欧美色图12p| 91视频免费看| 成人美女在线观看| 激情综合网最新| 蜜臀a∨国产成人精品| 亚洲最大成人综合| 成人免费视频在线观看| 国产精品你懂的| 久久精品人人做人人爽人人| 日韩一区二区影院| 91精品欧美一区二区三区综合在| 在线观看欧美黄色| 成人午夜视频福利| 成人av网站大全| 成人天堂资源www在线| 国产99一区视频免费| 国产露脸91国语对白| 国产在线一区观看| 国产精品影视天天线| 国产精品一区二区视频| 国产精品99久久久久久有的能看| 亚洲视频一二三| 亚洲少妇屁股交4| 亚洲精品欧美专区| 一区二区三区免费看视频| 亚洲影院免费观看| 午夜欧美视频在线观看| 日韩中文字幕亚洲一区二区va在线 | 午夜精品一区二区三区电影天堂| 欧美一区二区免费视频| 欧美精品1区2区3区| 51精品秘密在线观看| 欧美大片国产精品| 久久久久久影视| 国产精品情趣视频| 综合色中文字幕| 亚洲一区二区三区三| 奇米色一区二区| 精品一二三四区| 成人av网在线| 欧美色网站导航| 日韩欧美国产一二三区| 久久久不卡影院| 亚洲精品视频免费看| 日韩高清国产一区在线| 国产精品一区二区你懂的| 92国产精品观看| 日韩欧美国产一区二区三区| 欧美激情资源网| 亚洲.国产.中文慕字在线| 极品少妇一区二区| 色综合久久天天| 一级中文字幕一区二区| 麻豆一区二区99久久久久| 成人深夜在线观看| 69久久99精品久久久久婷婷| 国产欧美视频在线观看| 午夜久久久久久久久| 国产不卡在线一区| 欧美日韩极品在线观看一区| 久久久国产精品不卡| 亚洲妇女屁股眼交7| 国产成人免费在线视频| 欧美日韩免费在线视频| 欧美高清一级片在线观看| 日韩黄色免费电影| 成人avav在线| 欧美成人a视频| 午夜伦理一区二区| 成人福利电影精品一区二区在线观看| 美女网站色91| www.亚洲色图.com| 精品国产亚洲一区二区三区在线观看| 在线观看91精品国产麻豆| 中文字幕高清不卡| 麻豆国产欧美日韩综合精品二区| 亚洲h在线观看| 成人h动漫精品一区二区| 精品日韩在线观看| 香蕉加勒比综合久久| 色8久久人人97超碰香蕉987| 国产精品区一区二区三区| 麻豆精品在线播放| 在线成人av影院| 亚洲国产欧美在线人成| 91久久国产最好的精华液| 国产精品视频yy9299一区| 久久se精品一区精品二区| 欧美一区二区播放| 日日摸夜夜添夜夜添精品视频| 丝袜亚洲另类丝袜在线| 91国在线观看| 亚洲欧美激情一区二区| 成人亚洲一区二区一| 久久久亚洲精品石原莉奈| 国产在线看一区| 欧美变态tickling挠脚心| 另类中文字幕网| 日韩精品中文字幕在线不卡尤物| 久久精品视频免费| 高清视频一区二区| 无吗不卡中文字幕| 欧美三级电影精品|