Archived
1
0

add polygon signal

This commit is contained in:
2024-03-01 14:24:40 +01:00
parent b8b5c00ac2
commit 27e755cc2f
13 changed files with 2799 additions and 754 deletions

View File

@ -1,4 +1,27 @@
ARCHITECTURE studentVersion OF triangleToPolygon IS
signal mySignal : unsigned(bitNb downto 0);
constant aFullTriangle : unsigned(bitNb downto 0) := (others => '1');
BEGIN
polygon <= (others => '0');
convert: process(triangle)
begin
if (('0' & triangle) + ('0' & shift_right(triangle, 1))) < shift_right(aFullTriangle, 3) then
mySignal <= shift_right(aFullTriangle,3);
elsif (('0' & triangle) + ('0' & shift_right(triangle, 1))) > (shift_right(aFullTriangle, 1) + shift_right('0' & aFullTriangle, 3)) then
mySignal <= (shift_right(aFullTriangle,1) + shift_right(aFullTriangle,3));
elsif '1' then
mySignal <= ('0' & triangle) + ('0' & shift_right(triangle, 1) );
end if ;
end process convert;
polygon <= resize(mySignal-shift_right('0' & aFullTriangle,3), bitNb);
END ARCHITECTURE studentVersion;

View File

@ -0,0 +1,13 @@
ARCHITECTURE studentVersion OF triangleToPolygon IS
signal mySignal : unsigned(bitNb downto 0);
BEGIN
convert: process(triangle)
begin
mySignal <= triangle + shift_left(triangle, 1);
end process convert;
polygon <= mySignal;
END ARCHITECTURE studentVersion;