freq_change_chk.vhd

来自「频率变化操作IP,希望有人喜欢!自己写的,需要的下把!」· VHDL 代码 · 共 1,123 行 · 第 1/5 页

VHD
1,123
字号
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					else
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - '1' + "1010" - sourse2(23 downto 20); 
						if sourse1(27 downto 24) - '1' >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					end if;
				end if;
			end if;
		else
			reg_dec(11 downto 8) <= sourse1(11 downto 8) - '1' + "1010" - sourse2(11 downto 8); 	
			if sourse1(15 downto 12) - '1' >= sourse2(15 downto 12) then
				reg_dec(15 downto 12) <= sourse1(15 downto 12) - '1' - sourse2(15 downto 12); 
				if sourse1(19 downto 16) >= sourse2(19 downto 16) then
					reg_dec(19 downto 16) <= sourse1(19 downto 16) - sourse2(19 downto 16); 
					if sourse1(23 downto 20) >= sourse2(23 downto 20) then
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - sourse2(23 downto 20); 
						if sourse1(27 downto 24) >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					else
						reg_dec(23 downto 20) <= sourse1(23 downto 20) + "1010" - sourse2(23 downto 20); 
						if sourse1(27 downto 24) - '1' >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					end if;
				else
					reg_dec(19 downto 16) <= sourse1(19 downto 16) + "1010" - sourse2(19 downto 16); 
					if sourse1(23 downto 20) - '1' >= sourse2(23 downto 20) then
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - '1' - sourse2(23 downto 20); 
						if sourse1(27 downto 24) >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					else
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - '1' + "1010" - sourse2(23 downto 20); 
						if sourse1(27 downto 24) - '1' >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					end if;
				end if;
			else
				reg_dec(15 downto 12) <= sourse1(15 downto 12) - '1' + "1010" - sourse2(15 downto 12); 
				if sourse1(19 downto 16) - '1' >= sourse2(19 downto 16) then
					reg_dec(19 downto 16) <= sourse1(19 downto 16) - '1' - sourse2(19 downto 16); 
					if sourse1(23 downto 20) >= sourse2(23 downto 20) then
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - sourse2(23 downto 20); 
						if sourse1(27 downto 24) >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					else
						reg_dec(23 downto 20) <= sourse1(23 downto 20) + "1010" - sourse2(23 downto 20); 
						if sourse1(27 downto 24) - '1' >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					end if;
				else
					reg_dec(19 downto 16) <= sourse1(19 downto 16) - '1' + "1010" - sourse2(19 downto 16); 
					if sourse1(23 downto 20) - '1' >= sourse2(23 downto 20) then
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - '1' - sourse2(23 downto 20); 
						if sourse1(27 downto 24) >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					else
						reg_dec(23 downto 20) <= sourse1(23 downto 20) - '1' + "1010" - sourse2(23 downto 20); 
						if sourse1(27 downto 24) - '1' >= sourse2(27 downto 24) then
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' - sourse2(27 downto 24); 
							if sourse1(31 downto 28) >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28) + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						else
							reg_dec(27 downto 24) <= sourse1(27 downto 24) - '1' + "1010" - sourse2(27 downto 24); 
							if sourse1(31 downto 28) - '1' >= sourse2(31 downto 28) then
								reg_dec(31 downto 28) <= sourse1(31 downto 28) - '1' - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - sourse2(35 downto 32); 
							else
								reg_dec(31 downto 28) <= sourse1(31 downto 28)- '1' + "1010" - sourse2(31 downto 28); 
								reg_dec(35 downto 32) <= sourse1(35 downto 32) - '1' - sourse2(35 downto 32); 
							end if;
						end if;
					end if;
				end if;
			end if;
		end if;
	end if;
else
	reg_dec(3 downto 0) <= sourse1(3 downto 0) + "1010" - sourse2(3 downto 0); 
	if sourse1(7 downto 4) - '1' >= sourse2(7 downto 4) then
		reg_dec(7 downto 4) <= sourse1(7 downto 4) - '1' - sourse2(7 downto 4);
		if sourse1(11 downto 8) >= sourse2(11 downto 8) then
			reg_dec(11 downto 8) <= sourse1(11 downto 8) - sourse2(11 downto 8); 

⌨️ 快捷键说明

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