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

📄 gpsnavidatagen_4ch.v

📁 基于verilog语言的GPS模拟源代码
💻 V
📖 第 1 页 / 共 5 页
字号:
	   begin	   	if (Sat1_status == IDLE)	   		Sat1_status <= Sat1_nextstatus;	    else if (NB1)	 		Sat1_status <= Sat1_nextstatus;	 		 	if (Sat2_status == IDLE)	 		Sat2_status <= Sat2_nextstatus;	 	else if (NB2)	 		Sat2_status <= Sat2_nextstatus;	 		 	if (Sat3_status == IDLE)	 		Sat3_status <= Sat3_nextstatus;	 	else if (NB3)	 		Sat3_status <= Sat3_nextstatus;	 		 	if (Sat4_status == IDLE)	 		Sat4_status <= Sat4_nextstatus;	 	else if (NB4)	 		Sat4_status <= Sat4_nextstatus;	   end// Statuse Mechine; Satellite 1always @ (Sat1_status or Sat1_NavBit_Cnt or Sat1_Word_Cnt) begin 	case (Sat1_status) 		IDLE:  			Sat1_nextstatus <= TLMWORD; 			 		TLMWORD: 			if (Sat1_NavBit_Cnt<23) 				Sat1_nextstatus <= TLMWORD; 			else 				Sat1_nextstatus <= PARITY; 		 		PARITY: 			if (Sat1_NavBit_Cnt == 29) 			  begin 			  	Sat1_nextstatus <= IDLE; 			  	 				if (Sat1_Word_Cnt == 9) 					Sat1_nextstatus <= TLMWORD; 					 				if (Sat1_Word_Cnt == 0) 					Sat1_nextstatus <= HOWWORD; 					 				if ((Sat1_Word_Cnt>0)&&(Sat1_Word_Cnt<9)) 					Sat1_nextstatus <= NAVIDATAWORD; 			  end 			else 				Sat1_nextstatus <= PARITY; 				 		HOWWORD: 			if (Sat1_NavBit_Cnt<23) 				Sat1_nextstatus <= HOWWORD; 			else 				Sat1_nextstatus <= PARITY; 				 		NAVIDATAWORD: 			if (Sat1_NavBit_Cnt<23) 				Sat1_nextstatus <= NAVIDATAWORD; 			else 				Sat1_nextstatus <= PARITY;   		default: Sat1_nextstatus <= IDLE;  	endcase	 end// Statuse Mechine; Satellite 2always @ (Sat2_status or Sat2_NavBit_Cnt or Sat2_Word_Cnt) begin 	case (Sat2_status) 		IDLE:  			Sat2_nextstatus <= TLMWORD; 			 		TLMWORD: 			if (Sat2_NavBit_Cnt<23) 				Sat2_nextstatus <= TLMWORD; 			else 				Sat2_nextstatus <= PARITY; 		 		PARITY: 			if (Sat2_NavBit_Cnt == 29) 			  begin 			  	Sat2_nextstatus <= IDLE; 			  	 				if (Sat2_Word_Cnt == 9) 					Sat2_nextstatus <= TLMWORD; 					 				if (Sat2_Word_Cnt == 0) 					Sat2_nextstatus <= HOWWORD; 					 				if ((Sat2_Word_Cnt>0)&&(Sat2_Word_Cnt<9)) 					Sat2_nextstatus <= NAVIDATAWORD; 			  end 			else 				Sat2_nextstatus <= PARITY; 				 		HOWWORD: 			if (Sat2_NavBit_Cnt<23) 				Sat2_nextstatus <= HOWWORD; 			else    				Sat2_nextstatus <= PARITY; 				 		NAVIDATAWORD: 			if (Sat2_NavBit_Cnt<23) 				Sat2_nextstatus <= NAVIDATAWORD; 			else    				Sat2_nextstatus <= PARITY; 		default: Sat2_nextstatus <= IDLE;  	endcase	 end// Statuse Mechine; Satellite 3always @ (Sat3_status or Sat3_NavBit_Cnt or Sat3_Word_Cnt) begin        	case (Sat3_status) 		IDLE:  			Sat3_nextstatus <= TLMWORD; 			 		TLMWORD: 			if (Sat3_NavBit_Cnt<23) 				Sat3_nextstatus <= TLMWORD; 			else    				Sat3_nextstatus <= PARITY; 		 		PARITY: 			if (Sat3_NavBit_Cnt == 29) 			  begin 			  	Sat3_nextstatus <= IDLE; 			  	 				if (Sat3_Word_Cnt == 9) 					Sat3_nextstatus <= TLMWORD; 					 				if (Sat3_Word_Cnt == 0) 					Sat3_nextstatus <= HOWWORD; 					 				if ((Sat3_Word_Cnt>0)&&(Sat3_Word_Cnt<9)) 					Sat3_nextstatus <= NAVIDATAWORD; 			  end 			else 				Sat3_nextstatus <= PARITY; 				 		HOWWORD: 			if (Sat3_NavBit_Cnt<23) 				Sat3_nextstatus <= HOWWORD; 			else    				Sat3_nextstatus <= PARITY; 				 		NAVIDATAWORD: 			if (Sat3_NavBit_Cnt<23) 				Sat3_nextstatus <= NAVIDATAWORD; 			else    				Sat3_nextstatus <= PARITY; 		default: Sat3_nextstatus <= IDLE;  	endcase	 end// Statuse Mechine; Satellite 4always @ (Sat4_status or Sat4_NavBit_Cnt or Sat4_Word_Cnt) begin 	case (Sat4_status) 		IDLE:  			Sat4_nextstatus <= TLMWORD; 			 		TLMWORD: 			if (Sat4_NavBit_Cnt<23) 				Sat4_nextstatus <= TLMWORD; 			else    				Sat4_nextstatus <= PARITY; 		 		PARITY: 			if (Sat4_NavBit_Cnt == 29) 			  begin 			  	Sat4_nextstatus <= IDLE; 			  	 				if (Sat4_Word_Cnt == 9) 					Sat4_nextstatus <= TLMWORD; 					    				if (Sat4_Word_Cnt == 0) 					Sat4_nextstatus <= HOWWORD; 					 				if ((Sat4_Word_Cnt>0)&&(Sat4_Word_Cnt<9)) 					Sat4_nextstatus <= NAVIDATAWORD; 			  end 			else 				Sat4_nextstatus <= PARITY; 				    		HOWWORD:    			if (Sat4_NavBit_Cnt<23) 				Sat4_nextstatus <= HOWWORD; 			else    				Sat4_nextstatus <= PARITY; 				 		NAVIDATAWORD: 			if (Sat4_NavBit_Cnt<23) 				Sat4_nextstatus <= NAVIDATAWORD; 			else    				Sat4_nextstatus <= PARITY; 		default: Sat4_nextstatus <= IDLE;  	endcase	 end// Generate the navigation data for satellite 1always @(posedge in_clk or negedge in_Resetn)	begin	 if (!in_Resetn)	 	NaviData1 <= 1;	 else	 	case (Sat1_status)	 		TLMWORD:	 			case (Sat1_NavBit_Cnt)	 				0,	 				4,	 				6,	 				7: NaviData1 <=1;	 					 				1,	 				2,	 				3,	 				5: NaviData1 <=0;	 					 				default: 	 				 if(NB1)	 				 	NaviData1 <= ~NaviData1; 	 				 	//NaviData1 <= 0;	 			endcase	 				 		PARITY:	 			case (Sat1_NavBit_Cnt)	 				24: NaviData1 <= Sat1_PrtW[0];	 				25: NaviData1 <= Sat1_PrtW[1];	 				26: NaviData1 <= Sat1_PrtW[2];	 				27: NaviData1 <= Sat1_PrtW[3];	 				28: 	 					begin	 					 if (Sat1_Word_Cnt == 9)	 					  NaviData1 <= 0;	 					 else	 					  NaviData1 <= Sat1_PrtW[4];	 					end	 						 				29: 	 					begin	 					 if (Sat1_Word_Cnt == 9)	 					  NaviData1 <= 0;	 					 else	 					  NaviData1 <= Sat1_PrtW[5];	 					  	 					end	 			endcase	 				 		HOWWORD:

⌨️ 快捷键说明

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