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

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

?? serial_multiplex.vhd

?? 絕對好東西
?? VHD
字號:
--------------------------------------------------------------------------------
-- Company: 
-- Engineer:
--
-- Create Date:    18:57:29 12/26/07
-- Design Name:    
-- Module Name:    serial_multiplex - Behavioral
-- Designed by:  Ahrong
-- E-mail: jeawen.lin@163.com
-- Revision History:
--   1.0  2005-12-28  Ahrong
--        Initial version
--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity serial_multiplex is
	  generic(
		K_WIDTH : integer := 12;  --K width
		X_WIDTH : integer := 24   --X width
		);
	port (
			RST        : in  std_logic;
			CLK        : in  std_logic;
			MUL_EN     : in std_logic;
			K          : in  std_logic_vector(K_WIDTH - 1 downto 0);
			X          : in  std_logic_vector(X_WIDTH - 1 downto 0);
			Y          : out std_logic_vector(K_WIDTH + X_WIDTH-1 downto 0);	
			MUL_BUSY   : out std_logic;
			MUL_FINISH : out std_logic
	);

end serial_multiplex;

architecture Behavioral of serial_multiplex is

signal CNT : integer range 0 to K_WIDTH+2 := 0;

signal pos_K: std_logic_vector(K_WIDTH-1 downto 0);
signal pos_X: std_logic_vector(X_WIDTH-1 downto 0);
signal reg_K: std_logic_vector(K_WIDTH-1 downto 0);
signal reg_X: std_logic_vector(K_WIDTH + X_WIDTH-2 downto 0) := (others => '0');
signal SUM  : std_logic_vector(K_WIDTH + X_WIDTH-1 downto 0);

signal last_MUL_EN : std_logic ;
signal CAL_EN      : std_logic := '0';

signal state_idle           : std_logic;
signal state_input_convert  : std_logic;
signal state_initiate       : std_logic;
signal state_caculate       : std_logic;
signal state_invert         : std_logic;
signal state_finish         : std_logic;

signal cal_finish           : std_logic := '0';
signal result_sign          : std_logic := '0';

subtype state is std_logic_vector(5 downto 0);
signal	MUL_CS             : state;

constant IDLE              : state   := "000001";		  
constant INPUT_CONVERT  	: state   := "000010";		  
constant INITIATE				: state   := "000100";		  
constant CACULATE				: state   := "001000";		  
constant INVERT            : state   := "010000";
constant FINISH         	: state   := "100000";


begin


state_idle           <= MUL_CS(0);
state_input_convert  <= MUL_CS(1);
state_initiate       <= MUL_CS(2);
state_caculate       <= MUL_CS(3);
state_invert         <= MUL_CS(4);
state_finish			<= MUL_CS(5);

----------------------------------------------------------------------------------------------------
--FSM
process(CLK,RST)
begin
	if RST= '1' then
		MUL_CS <= IDLE;
	elsif rising_edge(CLK)then
		last_MUL_EN <= MUL_EN;		
		case MUL_CS is
			when IDLE =>
				if last_MUL_EN = '0' and MUL_EN = '1' then
					MUL_CS <= INPUT_CONVERT;
				 end if;
			when INPUT_CONVERT =>
				MUL_CS <= INITIATE;
			when INITIATE =>
				MUL_CS <= CACULATE;
			when CACULATE =>
				if cal_finish = '1' then
					MUL_CS <= INVERT;
				end if;
			when INVERT =>
				MUL_CS <= FINISH;
			when FINISH =>
				MUL_CS <= IDLE;
			when others =>
				MUL_CS <= IDLE;
		end case;
	end if;
end process;
--END FSM
-----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
--process(CLK)
--begin
--	if rising_edge(CLK)then
--		if state_idle = '1' then
--			MUL_BUSY <= '0';
--		else
--			MUL_BUSY <= '1';
--		end if;
--	end if;
--end process;
MUL_BUSY <= not(state_idle);
---------------------------------------------------------------------------------------------------

----signed convert---------------------------------------------------------------------------------
process(CLK)
begin
	if rising_edge(CLK)then
	  if state_input_convert = '1' then

	  	   result_sign <= K(K_WIDTH-1) xor X(X_WIDTH-1);

	  		if K(K_WIDTH-1) = '1' then
				pos_K <= not(K)+1;
			else
				pos_K <= K;
			end if;

			if X(X_WIDTH-1) = '1' then
				pos_X <= not(X) + 1;
			else
				pos_X <= X;
			end if;
	  end if;

	end if;
end process;
---------------------------------------------------------------------------------------------------

--caculate-------------------------------------------------------------------------------------------------
process(CLK,RST)
begin
	if RST = '1' then
		reg_X <= (others => '0');
		SUM(K_WIDTH + X_WIDTH-1 downto 0)   <= (others => '0');
	elsif rising_edge(CLK) then
		if state_initiate = '1' then
			reg_K <= pos_K;
			reg_X <= reg_X + pos_X;
			SUM(K_WIDTH + X_WIDTH-1 downto 0)   <= (others => '0');
			CNT <= 0;
			cal_finish <= '0';
		elsif state_caculate = '1' then
			CNT <= CNT+1;
			if CNT < K_WIDTH then
				reg_K(K_WIDTH-1 downto 0) <= '0' & reg_K(K_WIDTH-1 downto 1);
				reg_X(K_WIDTH + X_WIDTH-2 downto 0) <= reg_X(K_WIDTH + X_WIDTH-3 downto 0) & '0';
				if reg_K(0)= '1' then
					SUM(K_WIDTH + X_WIDTH-1 downto 0 ) <= SUM(K_WIDTH + X_WIDTH-1 downto 0) + reg_X(K_WIDTH + X_WIDTH-2 downto 0);
				end if;
			else
				cal_finish <= '1';
				reg_X <= (others => '0');
			end if;
		end if;
	end if;
end process;
----------------------------------------------------------------------------------------------------

--output result---------------------------------------------------------------------------------------------
process(CLK)
begin
	if rising_edge(CLK)then
		if state_invert = '1' then
			if result_sign = '1' then
				Y <= not(SUM) + 1;
			else
				Y <= SUM;
			end if;		
		end if; 
	end if;
end process;

MUL_FINISH <= state_finish;
----------------------------------------------------------------------------------------------------


end Behavioral;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线影院| 精品国产一区二区三区不卡| 日韩—二三区免费观看av| 欧美精品一区二区三区四区| 色诱亚洲精品久久久久久| 美国三级日本三级久久99| 国产精品网友自拍| 欧美一区二区三区思思人| 99久久精品免费看国产免费软件| 免费成人在线网站| 国产精品不卡一区| 精品乱人伦一区二区三区| 在线观看日韩毛片| 99久久99久久精品免费看蜜桃| 全国精品久久少妇| 亚洲成年人影院| 国产精品美女久久久久久久久| 日韩精品专区在线影院重磅| 在线日韩av片| 成年人网站91| 国产成人午夜精品5599| 青青草91视频| 午夜电影网亚洲视频| 亚洲女同女同女同女同女同69| 亚洲精品一区在线观看| 欧美一区二区私人影院日本| 欧美私人免费视频| 91网上在线视频| 成人国产精品免费观看| 国产真实乱对白精彩久久| 美女视频黄 久久| 琪琪久久久久日韩精品| 亚洲成在人线免费| 一区二区三区中文在线| 成人免费小视频| 国产精品免费久久久久| 中文字幕不卡在线播放| 欧美国产精品劲爆| 国产三级一区二区| 国产欧美日韩综合| 亚洲国产精品二十页| 国产人久久人人人人爽| www国产成人免费观看视频 深夜成人网| 欧美一区二区观看视频| 欧美一区二区三区四区五区| 欧美一区二区高清| 精品国产百合女同互慰| 精品国产99国产精品| 久久久久国产成人精品亚洲午夜| 亚洲精品一区二区在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 国产亚洲一区二区三区| 国产欧美日韩在线| 成人欧美一区二区三区视频网页| 亚洲欧美日韩电影| 亚洲福利一区二区| 免费xxxx性欧美18vr| 韩国在线一区二区| 国产成人av一区二区三区在线观看| 成人精品视频一区二区三区| 99精品热视频| 欧美性三三影院| 日韩丝袜情趣美女图片| 久久久99免费| 亚洲日本电影在线| 亚洲国产cao| 久久97超碰国产精品超碰| 国产成人亚洲综合a∨猫咪| 91色|porny| 91麻豆精品国产无毒不卡在线观看| 日韩一二在线观看| 中文字幕欧美日韩一区| 亚洲免费伊人电影| 美女性感视频久久| 不卡大黄网站免费看| 在线观看三级视频欧美| 日韩欧美视频在线| 国产精品久久久久久久第一福利 | 欧美精品高清视频| 精品日产卡一卡二卡麻豆| 国产日韩精品视频一区| 亚洲精品大片www| 久久精品99国产精品| 成人福利视频网站| 欧美欧美午夜aⅴ在线观看| 久久综合九色综合欧美98| 亚洲日本在线视频观看| 蜜臀av一区二区在线免费观看| 国产精品一二三在| 欧美日韩一区高清| 国产片一区二区| 天堂精品中文字幕在线| www.av亚洲| 欧美草草影院在线视频| 亚洲免费伊人电影| 国产精品一区二区你懂的| 欧美三级韩国三级日本三斤| 久久久久久久久久久黄色| 亚洲成人午夜电影| 成人ar影院免费观看视频| 日韩欧美一区二区在线视频| 亚洲欧美日韩中文字幕一区二区三区 | 在线观看日韩国产| 久久亚洲精品国产精品紫薇 | 国产成人日日夜夜| 欧美日韩成人高清| 中文字幕一区二区三区四区不卡 | 在线视频中文字幕一区二区| 国产女人18水真多18精品一级做| 三级欧美在线一区| 日本久久精品电影| 中文字幕精品一区二区精品绿巨人| 麻豆精品精品国产自在97香蕉| 欧美优质美女网站| 中文字幕在线观看一区| 黑人精品欧美一区二区蜜桃| 91精品国产综合久久久蜜臀粉嫩| 亚洲免费视频中文字幕| www.日韩在线| 欧美国产一区二区| 国产成人综合亚洲91猫咪| 日韩视频一区二区在线观看| 无吗不卡中文字幕| 91成人国产精品| 亚洲精品福利视频网站| 97成人超碰视| 亚洲欧美一区二区久久| 成人国产在线观看| 日本一区二区三区视频视频| 国产在线一区二区| 久久女同精品一区二区| 国产综合久久久久影院| 精品国产制服丝袜高跟| 麻豆久久久久久久| 欧美成va人片在线观看| 久久精品国产99国产| 日韩精品一区二区三区四区| 麻豆专区一区二区三区四区五区| 欧美一级爆毛片| 狠狠色狠狠色综合日日91app| 欧美高清一级片在线| 日韩精品成人一区二区在线| 91精品国产综合久久精品麻豆| 午夜精品福利一区二区三区蜜桃| 欧美日韩激情一区| 天天亚洲美女在线视频| 欧美一区二区三区成人| 日本女人一区二区三区| 欧美一区二区美女| 国产美女娇喘av呻吟久久| 中文字幕乱码日本亚洲一区二区| 不卡的av中国片| 亚洲午夜久久久久久久久电影网| 欧美日韩一卡二卡| 奇米影视在线99精品| 久久久综合激的五月天| 成人精品视频.| 亚洲美女淫视频| 欧美精品乱码久久久久久| 日韩不卡一区二区| 精品国产成人系列| 99视频国产精品| hitomi一区二区三区精品| 国产精品亲子伦对白| 在线观看一区不卡| 男人的天堂久久精品| 国产欧美日产一区| 在线看国产日韩| 久久精品久久综合| 亚洲欧美综合在线精品| 欧美影院一区二区| 日本不卡中文字幕| 欧美高清一级片在线观看| 欧美在线观看18| 黄色成人免费在线| 亚洲精品中文在线观看| 日韩一区二区免费在线观看| 东方aⅴ免费观看久久av| 亚洲在线视频网站| 26uuu亚洲| 欧美天堂一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 亚洲色图清纯唯美| 欧美成人伊人久久综合网| 97成人超碰视| 精品一区二区三区在线观看国产| 亚洲免费在线视频一区 二区| 日韩欧美国产三级| jvid福利写真一区二区三区| 日韩黄色免费电影| 国产精品理论在线观看| 4438亚洲最大| 色成年激情久久综合| 国产一区二三区好的| 亚洲国产cao| 国产精品初高中害羞小美女文| 欧美一区二区精品| 欧美丝袜丝交足nylons图片| 国产aⅴ综合色| 精品一区二区三区在线观看国产|