split polygon in 2 process
This commit is contained in:
@ -2,26 +2,36 @@ ARCHITECTURE studentVersion OF triangleToPolygon IS
|
||||
|
||||
signal mySignal : unsigned(bitNb downto 0);
|
||||
constant aFullTriangle : unsigned(bitNb downto 0) := (others => '1');
|
||||
signal bigTriangle: unsigned(bitNb downto 0);
|
||||
signal oneOfHeight: unsigned(bitNb downto 0);
|
||||
signal fiveOfHeight: unsigned(bitNb downto 0);
|
||||
|
||||
BEGIN
|
||||
|
||||
convert: process(triangle)
|
||||
resizeTriangle: process(triangle)
|
||||
begin
|
||||
bigTriangle <= ('0' & triangle) + ('0' & shift_right(triangle, 1));
|
||||
oneOfHeight <= shift_right(aFullTriangle, 3);
|
||||
fiveOfHeight <= shift_right(aFullTriangle, 1) + shift_right(aFullTriangle, 3);
|
||||
end process resizeTriangle;
|
||||
|
||||
convert: process(bigTriangle)
|
||||
begin
|
||||
|
||||
if (('0' & triangle) + ('0' & shift_right(triangle, 1))) < shift_right(aFullTriangle, 3) then
|
||||
if bigTriangle < oneOfHeight then
|
||||
|
||||
mySignal <= shift_right(aFullTriangle,3);
|
||||
mySignal <= oneOfHeight;
|
||||
|
||||
elsif (('0' & triangle) + ('0' & shift_right(triangle, 1))) > (shift_right(aFullTriangle, 1) + shift_right('0' & aFullTriangle, 3)) then
|
||||
elsif bigTriangle > fiveOfHeight then
|
||||
|
||||
mySignal <= (shift_right(aFullTriangle,1) + shift_right(aFullTriangle,3));
|
||||
mySignal <= fiveOfHeight;
|
||||
|
||||
elsif '1' then
|
||||
mySignal <= ('0' & triangle) + ('0' & shift_right(triangle, 1) );
|
||||
else
|
||||
mySignal <= bigTriangle;
|
||||
|
||||
end if ;
|
||||
|
||||
end process convert;
|
||||
|
||||
polygon <= resize(mySignal-shift_right('0' & aFullTriangle,3), bitNb);
|
||||
polygon <= resize(mySignal-oneOfHeight, bitNb);
|
||||
END ARCHITECTURE studentVersion;
|
||||
|
@ -0,0 +1,6 @@
|
||||
EDIT_LOCK
|
||||
remi.heredero
|
||||
UNKNOWN
|
||||
WE2330808
|
||||
15212
|
||||
01.03.2024-14:26:40.915000
|
Reference in New Issue
Block a user