📄 colorled32.tdf
字号:
when 6 =>
convertdff0[6][].clk = outcnt.q[5] # clk5m;
convertdff1[6][].clk = !outcnt.q[5] # clk5m;
when 7 =>
convertdff0[7][].clk = outcnt.q[5] # clk5m;
convertdff1[7][].clk = !outcnt.q[5] # clk5m;
when 8 =>
convertdff0[8][].clk = outcnt.q[5] # clk5m;
convertdff1[8][].clk = !outcnt.q[5] # clk5m;
when 9 =>
convertdff0[9][].clk = outcnt.q[5] # clk5m;
convertdff1[9][].clk = !outcnt.q[5] # clk5m;
when 10 =>
convertdff0[10][].clk = outcnt.q[5] # clk5m;
convertdff1[10][].clk = !outcnt.q[5] # clk5m;
when 11 =>
convertdff0[11][].clk = outcnt.q[5] # clk5m;
convertdff1[11][].clk = !outcnt.q[5] # clk5m;
when 12 =>
convertdff0[12][].clk = outcnt.q[5] # clk5m;
convertdff1[12][].clk = !outcnt.q[5] # clk5m;
when 13 =>
convertdff0[13][].clk = outcnt.q[5] # clk5m;
convertdff1[13][].clk = !outcnt.q[5] # clk5m;
when 14 =>
convertdff0[14][].clk = outcnt.q[5] # clk5m;
convertdff1[14][].clk = !outcnt.q[5] # clk5m;
when 15 =>
convertdff0[15][].clk = outcnt.q[5] # clk5m;
convertdff1[15][].clk = !outcnt.q[5] # clk5m;
when 16 =>
convertdff0[16][].clk = outcnt.q[5] # clk5m;
convertdff1[16][].clk = !outcnt.q[5] # clk5m;
when 17 =>
convertdff0[17][].clk = outcnt.q[5] # clk5m;
convertdff1[17][].clk = !outcnt.q[5] # clk5m;
when 18 =>
convertdff0[18][].clk = outcnt.q[5] # clk5m;
convertdff1[18][].clk = !outcnt.q[5] # clk5m;
when 19 =>
convertdff0[19][].clk = outcnt.q[5] # clk5m;
convertdff1[19][].clk = !outcnt.q[5] # clk5m;
when 20 =>
convertdff0[20][].clk = outcnt.q[5] # clk5m;
convertdff1[20][].clk = !outcnt.q[5] # clk5m;
when 21 =>
convertdff0[21][].clk = outcnt.q[5] # clk5m;
convertdff1[21][].clk = !outcnt.q[5] # clk5m;
when 22 =>
convertdff0[22][].clk = outcnt.q[5] # clk5m;
convertdff1[22][].clk = !outcnt.q[5] # clk5m;
when 23 =>
convertdff0[23][].clk = outcnt.q[5] # clk5m;
convertdff1[23][].clk = !outcnt.q[5] # clk5m;
when 24 =>
convertdff0[24][].clk = outcnt.q[5] # clk5m;
convertdff1[24][].clk = !outcnt.q[5] # clk5m;
when 25 =>
convertdff0[25][].clk = outcnt.q[5] # clk5m;
convertdff1[25][].clk = !outcnt.q[5] # clk5m;
when 26 =>
convertdff0[26][].clk = outcnt.q[5] # clk5m;
convertdff1[26][].clk = !outcnt.q[5] # clk5m;
when 27 =>
convertdff0[27][].clk = outcnt.q[5] # clk5m;
convertdff1[27][].clk = !outcnt.q[5] # clk5m;
when 28 =>
convertdff0[28][].clk = outcnt.q[5] # clk5m;
convertdff1[28][].clk = !outcnt.q[5] # clk5m;
when 29 =>
convertdff0[29][].clk = outcnt.q[5] # clk5m;
convertdff1[29][].clk = !outcnt.q[5] # clk5m;
when 30 =>
convertdff0[30][].clk = outcnt.q[5] # clk5m;
convertdff1[30][].clk = !outcnt.q[5] # clk5m;
when 31 =>
convertdff0[31][].clk = outcnt.q[5] # clk5m;
convertdff1[31][].clk = !outcnt.q[5] # clk5m;
end case;
case ledcnt.q[4..0] is
when 0 =>
lednode[] = (convertdff0[][31] & !ledcnt.q[5])
# (convertdff1[][31] & ledcnt.q[5]);
when 1 =>
lednode[] = (convertdff0[][30] & !ledcnt.q[5])
# (convertdff1[][30] & ledcnt.q[5]);
when 2 =>
lednode[] = (convertdff0[][29] & !ledcnt.q[5])
# (convertdff1[][29] & ledcnt.q[5]);
when 3 =>
lednode[] = (convertdff0[][28] & !ledcnt.q[5])
# (convertdff1[][28] & ledcnt.q[5]);
when 4 =>
lednode[] = (convertdff0[][27] & !ledcnt.q[5])
# (convertdff1[][27] & ledcnt.q[5]);
when 5 =>
lednode[] = (convertdff0[][26] & !ledcnt.q[5])
# (convertdff1[][26] & ledcnt.q[5]);
when 6 =>
lednode[] = (convertdff0[][25] & !ledcnt.q[5])
# (convertdff1[][25] & ledcnt.q[5]);
when 7 =>
lednode[] = (convertdff0[][24] & !ledcnt.q[5])
# (convertdff1[][24] & ledcnt.q[5]);
when 8 =>
lednode[] = (convertdff0[][23] & !ledcnt.q[5])
# (convertdff1[][23] & ledcnt.q[5]);
when 9 =>
lednode[] = (convertdff0[][22] & !ledcnt.q[5])
# (convertdff1[][22] & ledcnt.q[5]);
when 10 =>
lednode[] = (convertdff0[][21] & !ledcnt.q[5])
# (convertdff1[][21] & ledcnt.q[5]);
when 11 =>
lednode[] = (convertdff0[][20] & !ledcnt.q[5])
# (convertdff1[][20] & ledcnt.q[5]);
when 12 =>
lednode[] = (convertdff0[][19] & !ledcnt.q[5])
# (convertdff1[][19] & ledcnt.q[5]);
when 13 =>
lednode[] = (convertdff0[][18] & !ledcnt.q[5])
# (convertdff1[][18] & ledcnt.q[5]);
when 14 =>
lednode[] = (convertdff0[][17] & !ledcnt.q[5])
# (convertdff1[][17] & ledcnt.q[5]);
when 15 =>
lednode[] = (convertdff0[][16] & !ledcnt.q[5])
# (convertdff1[][16] & ledcnt.q[5]);
when 16 =>
lednode[] = (convertdff0[][15] & !ledcnt.q[5])
# (convertdff1[][15] & ledcnt.q[5]);
when 17 =>
lednode[] = (convertdff0[][14] & !ledcnt.q[5])
# (convertdff1[][14] & ledcnt.q[5]);
when 18 =>
lednode[] = (convertdff0[][13] & !ledcnt.q[5])
# (convertdff1[][13] & ledcnt.q[5]);
when 19 =>
lednode[] = (convertdff0[][12] & !ledcnt.q[5])
# (convertdff1[][12] & ledcnt.q[5]);
when 20 =>
lednode[] = (convertdff0[][11] & !ledcnt.q[5])
# (convertdff1[][11] & ledcnt.q[5]);
when 21 =>
lednode[] = (convertdff0[][10] & !ledcnt.q[5])
# (convertdff1[][10] & ledcnt.q[5]);
when 22 =>
lednode[] = (convertdff0[][9] & !ledcnt.q[5])
# (convertdff1[][9] & ledcnt.q[5]);
when 23 =>
lednode[] = (convertdff0[][8] & !ledcnt.q[5])
# (convertdff1[][8] & ledcnt.q[5]);
when 24 =>
lednode[] = (convertdff0[][7] & !ledcnt.q[5])
# (convertdff1[][7] & ledcnt.q[5]);
when 25 =>
lednode[] = (convertdff0[][6] & !ledcnt.q[5])
# (convertdff1[][6] & ledcnt.q[5]);
when 26 =>
lednode[] = (convertdff0[][5] & !ledcnt.q[5])
# (convertdff1[][5] & ledcnt.q[5]);
when 27 =>
lednode[] = (convertdff0[][4] & !ledcnt.q[5])
# (convertdff1[][4] & ledcnt.q[5]);
when 28 =>
lednode[] = (convertdff0[][3] & !ledcnt.q[5])
# (convertdff1[][3] & ledcnt.q[5]);
when 29 =>
lednode[] = (convertdff0[][2] & !ledcnt.q[5])
# (convertdff1[][2] & ledcnt.q[5]);
when 30 =>
lednode[] = (convertdff0[][1] & !ledcnt.q[5])
# (convertdff1[][1] & ledcnt.q[5]);
when 31 =>
lednode[] = (convertdff0[][0] & !ledcnt.q[5])
# (convertdff1[][0] & ledcnt.q[5]);
end case;
% for i in 0 to 31 generate
if i == ledcnt.q[4..0] then
lednode[] = (convertdff0[][31 - i] & !ledcnt.q[5])
# (convertdff1[][31 - i] & ledcnt.q[5]);
end if;
end generate;
%
-- out2led.clk = (outcnt.q[4..0] != b"11111") # clk5m;
out2led.d = !out2led;
if out2led then
out2led.clk = (ledcnt.q[] != h"400" ) # clk5m;
else
out2led.clk = (outcnt.q[4..0] != b"11111") # clk5m;
end if;
ledcnt.aclr = !out2led;
ledcnt.clock = clk5m;
clk0[] = clk5m;
-- phasea = clk5m;
-- phasea.clk = clk10m;
-- clk0[] = phasea;
lath = (ledcnt.q[] != h"400");
stb[] = (clk5m $ clk10m) # lath;
--following for 50pins connector define
free1 = pclk;
free55 = hsync;
free56 = vsync;
led[39..38] = clk0[];
led[37..36] = stb[];
led[31..0] = lednode[];
led[35..32] = lednode[3..0];
led[63..40] = lednode[27..4];
%
case framecnt.q[9..8] is
when 0=> --b"11",b"00" red
-- if !ledcnt.q[5] then
-- led[0..35] = (ledcnt.q[3]==ledcnt.q[4]) & ledcnt.q[0];
-- led[63..40] = (ledcnt.q[3]==ledcnt.q[4]) & ledcnt.q[0];
-- else
-- led[0..35] = gnd;
-- led[63..40] = gnd;
-- end if;
case ledcnt.q[5..3] is
when b"100"=>
led[0..35] = ledcnt.q[0];
led[63..40] = ledcnt.q[0];
when b"111"=>
led[0..35] = h"ff";
led[63..40] = h"ff";
when others=>
led[0..35] = gnd;
led[63..40] = gnd;
end case;
when 1=> --b"11","b"01" green
-- if !ledcnt.q[5] then
-- led[0..35] = ledcnt.q[3] & ledcnt.q[0];
-- led[63..40] = ledcnt.q[3] & ledcnt.q[0];
-- else
-- led[0..35] = gnd;
-- led[63..40] = gnd;
-- end if;
case ledcnt.q[5..3] is
when b"101"=>
led[0..35] = ledcnt.q[0];
led[63..40] = ledcnt.q[0];
when b"111"=>
led[0..35] = h"ff";
led[63..40] = h"ff";
when others=>
led[0..35] = gnd;
led[63..40] = gnd;
end case;
when 2=> --b"11",b"10" blue
-- if !ledcnt.q[5] then
-- led[0..35] = ledcnt.q[4] & ledcnt.q[0];
-- led[63..40] = ledcnt.q[4] & ledcnt.q[0];
-- else
-- led[0..35] = gnd;
-- led[63..40] = gnd;
-- end if;
case ledcnt.q[5..3] is
when b"110"=>
led[0..35] = ledcnt.q[0];
led[63..40] = ledcnt.q[0];
when b"111"=>
led[0..35] = h"ff";
led[63..40] = h"ff";
when others=>
led[0..35] = gnd;
led[63..40] = gnd;
end case;
when 3=> --b"xx" white
-- if !ledcnt.q[5] then
-- led[0..35] = vcc & ledcnt.q[0];
-- led[63..40] = vcc & ledcnt.q[0];
-- else
-- led[0..35] = gnd;
-- led[63..40] = gnd;
-- end if;
case ledcnt.q[5..3] is
when b"100",b"101",b"110"=>
led[0..35] = ledcnt.q[0];
led[63..40] = ledcnt.q[0];
when b"111"=>
led[0..35] = h"ff";
led[63..40] = h"ff";
when others=>
led[0..35] = gnd;
led[63..40] = gnd;
end case;
end case;
%
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -