📄 decode16.vhd
字号:
end if;
end loop;
Ht:="1100100101100001";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(17):=f(17)+1;
else f(17):=f(17);
end if;
end loop;
Ht:="0001100010101101";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(16):=f(16)+1;
else f(16):=f(16);
end if;
end loop;
Ht:="1000000000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(15):=f(15)+1;
else f(15):=f(15);
end if;
end loop;
Ht:="0100000000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(14):=f(14)+1;
else f(14):=f(14);
end if;
end loop;
Ht:="0010000000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(13):=f(13)+1;
else f(13):=f(13);
end if;
end loop;
Ht:="0001000000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(12):=f(12)+1;
else f(12):=f(12);
end if;
end loop;
Ht:="0000100000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(11):=f(11)+1;
else f(11):=f(11);
end if;
end loop;
Ht:="0000010000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(10):=f(10)+1;
else f(10):=f(10);
end if;
end loop;
Ht:="0000001000000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(9):=f(9)+1;
else f(9):=f(9);
end if;
end loop;
Ht:="0000000100000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(8):=f(8)+1;
else f(8):=f(8);
end if;
end loop;
Ht:="0000000010000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(7):=f(7)+1;
else f(7):=f(7);
end if;
end loop;
Ht:="0000000001000000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(6):=f(6)+1;
else f(6):=f(6);
end if;
end loop;
Ht:="0000000000100000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(5):=f(5)+1;
else f(5):=f(5);
end if;
end loop;
Ht:="0000000000010000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(4):=f(4)+1;
else f(4):=f(4);
end if;
end loop;
Ht:="0000000000001000";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(3):=f(3)+1;
else f(3):=f(3);
end if;
end loop;
Ht:="0000000000000100";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(2):=f(2)+1;
else f(2):=f(2);
end if;
end loop;
Ht:="0000000000000010";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(1):=f(1)+1;
else f(1):=f(1);
end if;
end loop;
Ht:="0000000000000001";
for n in 15 downto 0 loop
if (S(n) and Ht(n))='1' then
f(0):=f(0)+1;
else f(0):=f(0);
end if;
end loop;
for i in 15 downto 0 loop
if g(i*2)<g(i*2+1) then
g(i*2):=g(i*2+1);
else g(i*2):=g(i*2+1);
end if;
end loop;
for i in 7 downto 0 loop
if g(i*2*2)<g(i*2*2+2) then
g(i*2*2):=g(i*2*2+2);
else g(i*2*2):=g(i*2*2);
end if;
end loop;
for i in 3 downto 0 loop
if g(i*2*2*2)<g(i*2*2*2+4) then
g(i*2*2*2):=g(i*2*2*2+4);
else g(i*2*2*2):=g(i*2*2*2);
end if;
end loop;
if g(0)<g(8) then g(0):=g(8); else g(0):=g(0);end if;
if g(16)<g(24) then g(16):=g(24); else g(16):=g(16);end if;
if g(0)<g(16) then g(0):=g(16); else g(0):=g(0);end if;
for k in 31 downto 0 loop
if f(k)=g(0) then
Z(k):=not Z(k);
else
Z(k):=Z(k);
end if;
end loop;
end if;
f:=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
end loop;
end if;
Z_out<=Z;
end process;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -