freq_change_chk.vhd
来自「频率变化操作IP,希望有人喜欢!自己写的,需要的下把!」· VHDL 代码 · 共 1,123 行 · 第 1/5 页
VHD
1,123 行
end if;
end if;
end if;
else
reg_dec(15 downto 12) <= sourse1(15 downto 12) + "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;
else
reg_dec(11 downto 8) <= sourse1(11 downto 8) + "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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?