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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dalia.vhd

?? 用VHDL實(shí)現(xiàn)DALI數(shù)據(jù)傳輸協(xié)議,速度快,穩(wěn)定,方便
?? VHD
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity dali is   port( IRQ,rst,clk_main,data_in,lamp_failure : in  std_logic;             tch0,tch1 : out std_logic_vector(15 downto 0);				 data_out: out std_logic        );end dali;architecture behavior of dali is   signal limit_error,rec_active,rec_active1,startbit_error,stopbit_error,databit_error,rst_real:  std_logic :='0';--not    signal rec_position  : integer range 0 to 15 ;   signal rec_bit : integer range 0 to 18 ;   signal address,command,level,state_no,fade_time : std_logic_vector(7 downto 0) ;	signal tsco:std_logic;	signal clk_dali,clk_20:std_logic;	signal short_address:std_logic_vector(7 downto 0);	signal input_level2,input_level3,input_level4,input_level:std_logic_vector(7 downto 0);   signal min_level:std_logic_vector(7 downto 0);   signal max_level:std_logic_vector(7 downto 0);	signal power_failure,withdraw:std_logic;   signal fade_rate:std_logic_vector(7 downto 0);   signal fade_start_level:std_logic_vector(7 downto 0);   signal fade_stop_level:std_logic_vector(7 downto 0);	signal new_level:std_logic_vector(7 downto 0);   signal fade_total:std_logic_vector(12 downto 0);   signal state_time:std_logic_vector(12 downto 0);	signal random_addr_out1,random_addr_out2,random_addr_out3,address_time :std_logic_vector(7 downto 0);	signal system_failure_level,power_on_level:std_logic_vector(7 downto 0);	signal answer,dtr,selection:std_logic_vector(7 downto 0);	signal search_address_h,search_address_m,search_address_l:std_logic_vector(7 downto 0);	signal random_address_h,random_address_m,random_address_l:std_logic_vector(7 downto 0);	signal send_position,dataout1,dataout2,datain11,datain12,datain13,datain21,datain22,datain23 : std_logic_vector(7 downto 0);	signal low_counter : std_logic_vector(15 downto 0);	signal send_value : std_logic;	signal physical_min_level: std_logic_vector(7 downto 0);--physical_min_level not initialized!!!!   signal fg:std_logic:='0';	signal addr11,addr12,addr13,addr21,addr22,addr23 :integer range 0 to 1;	signal dataout11,dataout12,dataout13,dataout21,dataout22,dataout23 :std_logic_vector(7 downto 0);		component lamp_setlevel is      port (new_level: in std_logic_vector(7 downto 0);--equal to the light control command             min_level: in std_logic_vector(7 downto 0);            max_level: in std_logic_vector(7 downto 0);             level: out std_logic_vector(7 downto 0);             limit_error: out std_logic;-- if exceed the limit, limit_error will be 1             tsco: out std_logic; --check if the lamp is working at full power.1 yes 0 no              tch0: out std_logic_vector(15 downto 0);             tch1: out std_logic_vector(15 downto 0)            );  end component;   component ram is     port( clk_dali: in std_logic;		       addr : in  integer range 0 to 1;             datain : in std_logic_vector(7 downto 0);				 dataout : out std_logic_vector(7 downto 0)            );   end component; 			  component ram1 is     port( clk_dali: in std_logic;             datain : in std_logic_vector(7 downto 0);				 dataout : out std_logic_vector(7 downto 0)            );   end component; 
  beginp0: process(rst,clk_dali)    variable i:integer:=0;    	 begin	    if(rst='1')  then			 while(i<=9) loop				 if(rising_edge(clk_20))then				    i:=i+1;				 end if;			 end loop;			 if(rst='1')  then				 rst_real<='1';				 else				 rst_real<='0';			 end if;       end if;    end process p0;
	p1: process(IRQ)	 begin	    if(falling_edge(IRQ))then			 rec_active1<='1';		 end if;	 end process p1;
	p2: process(rst_real,clk_dali,data_in)--ini	 variable rec_value,temp_value : std_logic;    begin       if(rst_real='1') then          rec_active<='1';          rec_bit<=0;          rec_position<=0;          address<="00000000";          command<="00000000";          datain11<="00000000";		    addr11<=0;          stopbit_error<='0';          startbit_error<='0';          databit_error<='0';			 datain11<="00000000";			 system_failure_level<="11111110";												 						 --not          elsif (rec_active='1' and rec_active1='1') then             if(rising_edge(clk_dali)) then                temp_value:=data_in;                rec_position<=rec_position+1;                if(temp_value/=rec_value) then                   CASE  rec_bit IS                       when 0=> 							    rec_bit<=rec_bit+1;                         rec_position <=0;								 datain11<="00000000";                      when 17=> 							    if(rec_position>6) then                            rec_active<='0';                            rec_bit<=0;                         end if;							    datain11<="00000000";                      when 18=> 							    rec_active<='0';                         rec_bit<=0;					          datain11<="00000000";                      when others=> 							    if(rec_position>6) then                             if(temp_value='1') then                               if(rec_bit<=8) then                                  address(8-rec_bit)<=temp_value;                                  else                                  command(16-rec_bit)<=temp_value;                               end if;                            end if;                            rec_bit<=rec_bit+1;                            rec_position <=0;                         end if;					          datain11<="00000000";                   end CASE ;                   rec_value := temp_value;                       else                   CASE  rec_bit IS                       when 0=> 								 if(rec_position=8) then                            rec_active<='0';                            rec_bit<=0;                         end if;							    datain11<="00000000";                      when 17=> 								 if(rec_position=8) then                            if(temp_value='0') then                               rec_active<='0';                               rec_bit<=0;                            end if;                         end if;							    datain11<="00000000";                      when 18=> 								 if(rec_position=8) then                            rec_active<='0';                            datain11<="00000001";							       addr11<=0;								    rec_bit<=0;								    rec_position<=0;                         end if;                      when others=> 								 if(rec_position=10) then                            rec_active<='0';                            rec_bit<=0;                         end if;							    datain11<="00000000";                   end CASE ;                end if;             end if;       end if;    end process p2;
p3: process(address,command,rst_real)    variable a,b,c,fadetime : std_logic_vector(7 downto 0);    variable m,n : std_logic_vector(23 downto 0);	 variable fade_rate_temp:std_logic_vector(7 downto 0);    variable divide_temp,ddtemp,d1,d2,d3,d4:std_logic_vector(11 downto 0);    variable fade_total_temp:std_logic_vector(3 downto 0);	 variable fade_total_temp1,fade_total_temp2:std_logic_vector(12 downto 0);    variable nn:integer range 0 to 16; 	 variable fg_temp:std_logic:='0';
    begin	 if(rst_real='1') then		 max_level<="11111110";		 min_level<=physical_min_level;		 fade_rate<="00000111";		 fade_time<="00000000";		 random_address_h<="11111111";	    random_address_m<="11111111";		 random_address_l<="11111111";	 end if;    if(dataout1="00000001") then		 datain12<="00000000";	    addr12<=0;       a:=address and "11100001";       if((address(7)='0')or(a="10100001")or(a="10110001")) then          b:=address and "01111110";          c:='0'& b(7 downto 1) ;          if((address(7)='0') and (c=short_address)) then             if(address(0)='0') then -- for lamp_setlevel --else                if(command/="11111111") then                   if(fade_time="00000000")then                      input_level2<=command;                         --component used  ATTENTION!!!!!!                      datain21<="00000000";							 addr21<=1;                      else                      fade_start_level<=level;							 fade_stop_level<=command;							 nn:=conv_integer(fade_time-"00000001");							 case nn is								 when 0=> fade_total_temp1:="0000000100011" ; 								 when 1=> fade_total_temp1:="0000000110010";								 when 2=> fade_total_temp1:="0000001000111";								 when 3=> fade_total_temp1:="0000001100100";								 when 4=> fade_total_temp1:="0000010001101";								 when 5=> fade_total_temp1:="0000011001000";								 when 6=> fade_total_temp1:="0000100011011";								 when 7=> fade_total_temp1:="0000110010000";								 when 8=> fade_total_temp1:="0001000110110";								 when 9=> fade_total_temp1:="0001100100000";								 when 10=>fade_total_temp1:="0010001101011";								 when 11=>fade_total_temp1:="0011001000000";								 when 12=>fade_total_temp1:="0100011010111";								 when 13=>fade_total_temp1:="0110010000000";								 when 14=>fade_total_temp1:="1000110101110";								 when others=>null;							 end case;							 state_time<=fade_total_temp1;							 fg_temp:=not fg_temp;							 fade_total<=fade_total_temp1;							 datain21<="00000000";							 addr21<=1;					    end if;					 end if;                else                     --for common command                nn:=conv_integer(fade_rate);--get the answer of the fade rate by the case.
					 case nn is					    when 0 =>fade_rate_temp:="01001000";					    when 1 =>fade_rate_temp:="00110011";					    when 2 =>fade_rate_temp:="00100100";					    when 3 =>fade_rate_temp:="00011001";					    when 4 =>fade_rate_temp:="00010010";					    when 5 =>fade_rate_temp:="00001101";					    when 6 =>fade_rate_temp:="00001001";				       when 7 =>fade_rate_temp:="00000110";					    when 8 =>fade_rate_temp:="00000100";					    when 9 =>fade_rate_temp:="00000011";					    when 10 to 11 =>fade_rate_temp:="00000010";					    when 12 to 14 =>fade_rate_temp:="00000001";					    when others =>null;					 end case;
		          case command is                                                                    --OFF				       when "00000000" => 				          power_failure<='0';                      input_level2<="00000000";                      datain21<="00000000";							 addr21<=1;				       when "00000001"=>            			 if(level/="00000000" and level/=max_level) then                         --up                         fade_start_level<=level;                         if(fade_rate_temp>(max_level-level)) then                            fade_stop_level<=max_level;                            divide_temp:="00001010"*(max_level-level);--12 bit								    ddtemp:=divide_temp-'0'&fade_rate_temp&"000";								    if(ddtemp>"000000000000") then								       fade_total_temp(3):='1';								       d1:=ddtemp;								       else								       fade_total_temp(3):='0';								       d1:=divide_temp;								    end if;								    ddtemp:=d1-"00"&fade_rate_temp&"00";								    if(ddtemp>"000000000000") then								       fade_total_temp(2):='1';								       d2:=ddtemp;								       else								       fade_total_temp(2):='0';								       d2:=d1;								    end if;								    ddtemp:=d2-"000"&fade_rate_temp&'0';								    if(ddtemp>"000000000000") then								       fade_total_temp(1):='1';								       d3:=ddtemp;								       else								       fade_total_temp(1):='0';								       d3:=d2;								    end if;								    ddtemp:=d3-"0000"&fade_rate_temp;								    if(ddtemp>"000000000000") then								       fade_total_temp(0):='1';								       d4:=ddtemp;								       else								       fade_total_temp(0):='0';								       d4:=d3;								    end if;								    fade_total_temp2:="000000000"&fade_total_temp;	                            else                             fade_stop_level<=level+fade_rate_temp;                            fade_total_temp2:="0000000001010";                         end if;                         datain21<="00000010";						       addr21<=1;                         state_time<=fade_total_temp2; 						       fg_temp:=not fg_temp;						       fade_total<=fade_total_temp2;                      end if;
				       when "00000010"=> 				          if(level/="00000000" and level/=min_level) then                          --down                         fade_start_level<=level;                         if(fade_rate_temp>(level-min_level)) then                            fade_stop_level<=min_level;                            divide_temp:="00001010"*(level-min_level);								    ddtemp:=divide_temp-'0'&fade_rate_temp&"000";								    if(ddtemp>"000000000000") then								       fade_total_temp(3):='1';								       d1:=ddtemp;								       else								       fade_total_temp(3):='0';								       d1:=divide_temp;								    end if;								    ddtemp:=d1-"00"&fade_rate_temp&"00";								    if(ddtemp>"000000000000") then								       fade_total_temp(2):='1';								       d2:=ddtemp;								       else								       fade_total_temp(2):='0';								       d2:=d1;								    end if;								    ddtemp:=d2-"000"&fade_rate_temp&'0';								    if(ddtemp>"000000000000") then								       fade_total_temp(1):='1';								       d3:=ddtemp;								       else								       fade_total_temp(1):='0';								       d3:=d2;								    end if;								    ddtemp:=d3-"0000"&fade_rate_temp;								    if(ddtemp>"000000000000") then								       fade_total_temp(0):='1';								       d4:=ddtemp;								       else								       fade_total_temp(0):='0';								       d4:=d3;								    end if;                            fade_total_temp2:="000000000"&fade_total_temp; 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人精品影院| 国产成人精品网址| 成人性色生活片免费看爆迷你毛片| 99久久久精品| 久久理论电影网| 亚洲3atv精品一区二区三区| 丁香婷婷综合激情五月色| 日韩视频免费直播| 亚洲国产另类精品专区| 成人免费精品视频| 久久综合九色综合97婷婷女人 | 蜜臀av一区二区在线观看| eeuss鲁片一区二区三区在线看| 日韩亚洲欧美高清| 爽好久久久欧美精品| 91福利精品视频| 自拍偷拍国产亚洲| 成人av网站免费| 日本一二三不卡| 国产精品影音先锋| 久久亚洲捆绑美女| 久草热8精品视频在线观看| 91精品国产品国语在线不卡| 亚洲影院免费观看| 91最新地址在线播放| 17c精品麻豆一区二区免费| 国产成人精品亚洲午夜麻豆| 久久精品视频一区二区三区| 国产精品77777竹菊影视小说| 精品精品国产高清一毛片一天堂| 午夜电影一区二区| 91精品国产色综合久久久蜜香臀| 首页国产欧美日韩丝袜| 欧美美女bb生活片| 日本亚洲免费观看| 日韩视频在线一区二区| 精品一区中文字幕| 久久久久97国产精华液好用吗| 国产一区二区三区四区五区美女| 26uuu色噜噜精品一区二区| 国产精品亚洲视频| 国产精品狼人久久影院观看方式| av欧美精品.com| 亚洲三级理论片| 欧美视频一区二区三区在线观看| 午夜国产精品一区| 欧美不卡一区二区三区| 国产99一区视频免费| 中文字幕一区二区三| 欧美午夜影院一区| 麻豆成人免费电影| 中文字幕高清不卡| 91国产成人在线| 日本免费新一区视频| 国产偷国产偷亚洲高清人白洁| 成人网男人的天堂| 亚洲一区二区三区四区的| 69精品人人人人| 丁香婷婷综合色啪| 午夜激情综合网| 亚洲国产精品t66y| 在线亚洲欧美专区二区| 六月婷婷色综合| 国产精品毛片久久久久久 | 99re在线精品| 日韩精品成人一区二区在线| 久久久综合精品| 欧美亚洲一区二区在线观看| 麻豆精品一区二区三区| 亚洲欧美自拍偷拍| 日韩精品一区二区三区四区视频| 风间由美性色一区二区三区| 亚洲电影激情视频网站| 国产午夜精品理论片a级大结局| 99久久综合色| 在线免费不卡电影| 日韩精品一卡二卡三卡四卡无卡 | 91亚洲精品久久久蜜桃网站 | 国产精品白丝jk黑袜喷水| 亚洲视频在线一区二区| 日韩一卡二卡三卡四卡| 一本大道久久a久久精二百| 精品一区二区影视| 亚洲一卡二卡三卡四卡| 国产亚洲一区二区三区在线观看| 欧美日韩在线播放| 99精品久久99久久久久| 国内成人免费视频| 日本在线播放一区二区三区| 亚洲精品第1页| 国产精品久久久久四虎| 精品99999| 欧美一区二区久久| 欧美日韩在线播| 日本韩国欧美一区二区三区| 成人黄色电影在线| 国产一区美女在线| 美国毛片一区二区三区| 亚洲18色成人| 一区二区三区 在线观看视频| 国产精品水嫩水嫩| 国产清纯白嫩初高生在线观看91 | 波多野结衣亚洲一区| 精品一区二区三区免费| 蜜臀久久99精品久久久久久9| 亚洲一级片在线观看| 亚洲精品国产一区二区精华液 | 日韩av二区在线播放| 亚洲午夜免费电影| 亚洲精品国产a久久久久久| 成人免费一区二区三区视频 | 欧美www视频| 欧美一区二区女人| 日韩一级黄色大片| 日韩视频国产视频| 欧美不卡视频一区| www成人在线观看| 精品人伦一区二区色婷婷| 精品国产亚洲在线| 久久久精品天堂| 欧美国产日韩a欧美在线观看 | av一区二区三区四区| 不卡的看片网站| 99国产精品一区| 在线观看日韩精品| 7777精品伊人久久久大香线蕉的 | 一区二区三区国产| 亚洲在线成人精品| 午夜精品福利在线| 国产在线一区二区| 成人黄色a**站在线观看| 91麻豆国产精品久久| 欧美视频你懂的| 欧美一区二区三区免费大片| 精品国产乱码久久久久久图片| 久久久久亚洲综合| 亚洲人成网站精品片在线观看| 一区二区三区在线影院| 婷婷综合久久一区二区三区| 美国欧美日韩国产在线播放| 国产成人午夜99999| 91原创在线视频| 欧美高清视频www夜色资源网| 亚洲精品一区二区精华| 国产精品国产三级国产有无不卡| 亚洲欧美aⅴ...| 婷婷丁香激情综合| 国产成人午夜视频| 欧美日韩精品电影| 久久久久久久久久看片| 一区二区三区日韩精品视频| 美女视频一区在线观看| 99久久久久久| 欧美va亚洲va香蕉在线| 亚洲少妇中出一区| 久久超级碰视频| 在线观看亚洲成人| 久久精品亚洲精品国产欧美kt∨| 一区二区在线看| 国产乱码精品1区2区3区| 欧美在线观看18| 国产欧美日韩精品一区| 日韩精品色哟哟| 99久免费精品视频在线观看| 欧美成va人片在线观看| 一区二区三区欧美| 国产成人啪午夜精品网站男同| 欧美日韩国产精选| 国产精品第13页| 精品一区二区在线观看| 欧美日韩精品是欧美日韩精品| 国产精品免费视频一区| 久久精品国产亚洲一区二区三区| 一本一本久久a久久精品综合麻豆| 精品国产三级电影在线观看| 亚洲va中文字幕| 欧美做爰猛烈大尺度电影无法无天| 久久免费偷拍视频| 日韩av电影免费观看高清完整版在线观看| 成人av在线观| 国产欧美日韩精品a在线观看| 青娱乐精品视频| 欧美日韩精品一区二区三区| 亚洲激情自拍视频| 99re热这里只有精品免费视频 | 国产精品一区二区久激情瑜伽| 777xxx欧美| 亚洲bdsm女犯bdsm网站| 欧美影院午夜播放| 一区二区三区日本| 在线观看成人免费视频| 亚洲精品一二三四区| 一本色道久久综合亚洲aⅴ蜜桃 | 在线国产电影不卡| 一区二区三区精品视频在线| 欧洲精品在线观看| 午夜精品福利久久久| 欧美一区二区三区视频在线观看| 视频一区在线播放| 欧美一级搡bbbb搡bbbb|