⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 w429.vhd

📁 另一个发送429操作IP,对军工很有用,希望有人喜欢!
💻 VHD
📖 第 1 页 / 共 3 页
字号:
    			data_reg21(15 downto 0) <= data_in;
  			end if;
  			if addr = "00101011" then
    			data_reg21(31 downto 16) <= data_in;
  			end if;
  			if addr = "00101100" then
    			data_reg22(15 downto 0) <= data_in;
  			end if;
  			if addr = "00101101" then
    			data_reg22(31 downto 16) <= data_in;
  			end if;
  			if addr = "00101110" then
    			data_reg23(15 downto 0) <= data_in;
  			end if;
  			if addr = "00101111" then
    			data_reg23(31 downto 16) <= data_in;
  			end if;
  			if addr = "00110000" then
    			data_reg24(15 downto 0) <= data_in;
  			end if;
  			if addr = "00110001" then
    			data_reg24(31 downto 16) <= data_in;
  			end if;
  			if addr = "00110010" then
    			data_reg25(15 downto 0) <= data_in;
  			end if;
  			if addr = "00110011" then
    			data_reg25(31 downto 16) <= data_in;
  			end if;
  			if addr = "00110100" then
    			data_reg26(15 downto 0) <= data_in;
  			end if;
  			if addr = "00110101" then
    			data_reg26(31 downto 16) <= data_in;
  			end if;
  			if addr = "00110110" then
    			data_reg27(15 downto 0) <= data_in;
  			end if;
  			if addr = "00110111" then
    			data_reg27(31 downto 16) <= data_in;
  			end if;
  			if addr = "00111000" then
    			data_reg28(15 downto 0) <= data_in;
  			end if;
  			if addr = "00111001" then
    			data_reg28(31 downto 16) <= data_in;
  			end if;
  			if addr = "00111010" then
    			data_reg29(15 downto 0) <= data_in;
  			end if;
  			if addr = "00111011" then
    			data_reg29(31 downto 16) <= data_in;
  			end if;
  			if addr = "00111100" then
    			data_reg30(15 downto 0) <= data_in;
  			end if;
  			if addr = "00111101" then
    			data_reg30(31 downto 16) <= data_in;
  			end if;
  			if addr = "00111110" then
    			data_reg31(15 downto 0) <= data_in;
  			end if;
  			if addr = "00111111" then
    			data_reg31(31 downto 16) <= data_in;
  			end if;
  			if addr = "01000000" then
    			data_reg32(15 downto 0) <= data_in;
  			end if;
  			if addr = "01000001" then
    			data_reg32(31 downto 16) <= data_in;
  			end if;
 		end if;
	else--reset='1'复位有效,寄存器全部清零
		data_reg0 <= "00000000000000000000000000000000";
 		data_reg1 <= "00000000000000000000000000000000";  
 		data_reg2 <= "00000000000000000000000000000000";
 		data_reg3 <= "00000000000000000000000000000000";
 		data_reg4 <= "00000000000000000000000000000000";
 		data_reg5 <= "00000000000000000000000000000000";
 		data_reg6 <= "00000000000000000000000000000000";
 		data_reg7 <= "00000000000000000000000000000000";
 		data_reg8 <= "00000000000000000000000000000000";
 		data_reg9 <= "00000000000000000000000000000000";
 		data_reg10 <= "00000000000000000000000000000000";
 		data_reg11 <= "00000000000000000000000000000000";
 		data_reg12 <= "00000000000000000000000000000000";
 		data_reg13 <= "00000000000000000000000000000000";
 		data_reg14 <= "00000000000000000000000000000000";
 		data_reg15 <= "00000000000000000000000000000000";
 		data_reg16 <= "00000000000000000000000000000000";
 		data_reg17 <= "00000000000000000000000000000000";
 		data_reg18 <= "00000000000000000000000000000000";
 		data_reg19 <= "00000000000000000000000000000000";
 		data_reg20 <= "00000000000000000000000000000000";
 		data_reg21 <= "00000000000000000000000000000000";
 		data_reg22 <= "00000000000000000000000000000000";
 		data_reg23 <= "00000000000000000000000000000000";
 		data_reg24 <= "00000000000000000000000000000000";
 		data_reg25 <= "00000000000000000000000000000000";
 		data_reg26 <= "00000000000000000000000000000000";
 		data_reg27 <= "00000000000000000000000000000000";
 		data_reg28 <= "00000000000000000000000000000000";
 		data_reg29 <= "00000000000000000000000000000000";
		data_reg30 <= "00000000000000000000000000000000";
 		data_reg31 <= "00000000000000000000000000000000";
 		data_reg32 <= "00000000000000000000000000000000";
	end if;
else--cs='0',片选无效,全部清零
 data_reg0 <= "00000000000000000000000000000000";
 data_reg1 <= "00000000000000000000000000000000";  
 data_reg2 <= "00000000000000000000000000000000";
 data_reg3 <= "00000000000000000000000000000000";
 data_reg4 <= "00000000000000000000000000000000";
 data_reg5 <= "00000000000000000000000000000000";
 data_reg6 <= "00000000000000000000000000000000";
 data_reg7 <= "00000000000000000000000000000000";
 data_reg8 <= "00000000000000000000000000000000";
 data_reg9 <= "00000000000000000000000000000000";
 data_reg10 <= "00000000000000000000000000000000";
 data_reg11 <= "00000000000000000000000000000000";
 data_reg12 <= "00000000000000000000000000000000";
 data_reg13 <= "00000000000000000000000000000000";
 data_reg14 <= "00000000000000000000000000000000";
 data_reg15 <= "00000000000000000000000000000000";
 data_reg16 <= "00000000000000000000000000000000";
 data_reg17 <= "00000000000000000000000000000000";
 data_reg18 <= "00000000000000000000000000000000";
 data_reg19 <= "00000000000000000000000000000000";
 data_reg20 <= "00000000000000000000000000000000";
 data_reg21 <= "00000000000000000000000000000000";
 data_reg22 <= "00000000000000000000000000000000";
 data_reg23 <= "00000000000000000000000000000000";
 data_reg24 <= "00000000000000000000000000000000";
 data_reg25 <= "00000000000000000000000000000000";
 data_reg26 <= "00000000000000000000000000000000";
 data_reg27 <= "00000000000000000000000000000000";
 data_reg28 <= "00000000000000000000000000000000";
 data_reg29 <= "00000000000000000000000000000000";
 data_reg30 <= "00000000000000000000000000000000";
 data_reg31 <= "00000000000000000000000000000000";
 data_reg32 <= "00000000000000000000000000000000";
end if;
end process;

   data_count1_ref <= JIA(data_reg0,"00000000000000000000000001000111");--32组数据的分界点
   data_count2_ref <= JIA(data_count1_ref,data_count1_ref);
   data_count3_ref <= JIA(data_count2_ref,data_count1_ref);  
   data_count4_ref <= JIA(data_count3_ref,data_count1_ref);  
   data_count5_ref <= JIA(data_count4_ref,data_count1_ref);
   data_count6_ref <= JIA(data_count5_ref,data_count1_ref); 
   data_count7_ref <= JIA(data_count6_ref,data_count1_ref); 
   data_count8_ref <= JIA(data_count7_ref,data_count1_ref); 
   data_count9_ref <= JIA(data_count8_ref,data_count1_ref); 
   data_count10_ref <= JIA(data_count9_ref,data_count1_ref); 
   data_count20_ref <= JIA(data_count10_ref,data_count10_ref); 
   data_count30_ref <= JIA(data_count20_ref,data_count10_ref); 


process(cs,clk,start,reset,repeat)
begin
if (cs = '1') then--片选
	if (reset = '0') then--复位
		if (start = '1') then--开始发送数据  
			if (repeat = '1') then--循环发送第一组数据
				data_count2 <= "00000000000000000000000000000000";
				data_count3 <= "00000000000000000000000000000000";
				half_out <= '0';
				if rising_edge(clk) then--clk的上升沿触发循环计数
					if data_count1 = data_count1_ref then
                       data_count1<="00000000000000000000000000000000";
                    else
                       data_count1<=data_count1+1;
                    end if;
				end if;
			else--单次发送32组数据
				data_count1<="00000000000000000000000000000000";
				if rising_edge(clk) then--clk的上升沿触发32组单次循环计数
					if (data_count3 = data_count1_ref) then
						data_count3 <= "00000000000000000000000000000000";
					else
						data_count3 <= data_count3+1;
					end if;
					if data_count2 = (JIA(data_count20_ref,data_count10_ref)) then
				--计到第32组大小时保持住不清零循环计数
					   data_count2 <= (JIA(data_count20_ref,data_count10_ref));
  					else
     				   data_count2 <= data_count2+1;
						if (data_count2 = "00000000000000000000000000000000") then
							datafifo2 <= data_reg1;--把第一组数据送到FIFO中
							half_out <= '0';--输出一半数据标识清零
						end if;
						if (data_count2 = data_count1_ref) then 
							datafifo2 <= data_reg2;--把第二组数据送到FIFO中   
						end if;
						if (data_count2 = data_count2_ref) then 
							datafifo2 <= data_reg3;   
						end if;
						if (data_count2 = data_count3_ref) then
							datafifo2 <= data_reg4;    
						end if;	
						if (data_count2 = data_count4_ref) then    
							datafifo2 <= data_reg5;
						end if;	
						if (data_count2 = data_count5_ref) then    
							datafifo2 <= data_reg6;
						end if;	
						if (data_count2 = data_count6_ref) then    
							datafifo2 <= data_reg7;
						end if;	
						if (data_count2 = data_count7_ref) then    
							datafifo2 <= data_reg8;
						end if;	
						if (data_count2 = data_count8_ref) then    
							datafifo2 <= data_reg9;
						end if;	
						if (data_count2 = data_count9_ref) then    
							datafifo2 <= data_reg10;
						end if;	
						if (data_count2 = data_count10_ref) then    
							datafifo2 <= data_reg11;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count1_ref)) then						
							datafifo2 <= data_reg12;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count2_ref)) then						
							datafifo2 <= data_reg13;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count3_ref)) then						
							datafifo2 <= data_reg14;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count4_ref)) then						
							datafifo2 <= data_reg15;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count5_ref)) then						
							datafifo2 <= data_reg16;
							half_out <= '1';--输出一半数据置1
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count6_ref)) then						
							datafifo2 <= data_reg17;
						end if;	
						if (data_count2 = JIA(data_count10_ref,data_count7_ref)) then						
							datafifo2 <= data_reg18;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -