Add pipeline stages parameter to PipelineRegister instances and refactor C_Offset calculation
All checks were successful
Manuelles Build mit ISE / build (push) Successful in 38s
All checks were successful
Manuelles Build mit ISE / build (push) Successful in 38s
This commit is contained in:
@@ -82,6 +82,7 @@ begin
|
|||||||
|
|
||||||
INST0_VSpritePipeline_Y_Sprite : entity work.PipelineRegister
|
INST0_VSpritePipeline_Y_Sprite : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Y_Width
|
G_Width => G_Y_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -93,6 +94,7 @@ begin
|
|||||||
|
|
||||||
INST0_VSpritePipeline_Y_Request : entity work.PipelineRegister
|
INST0_VSpritePipeline_Y_Request : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Y_Width
|
G_Width => G_Y_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -109,6 +111,7 @@ begin
|
|||||||
|
|
||||||
INST_VSpritePipeline_Y_Bottom_Sprite : entity work.PipelineRegister
|
INST_VSpritePipeline_Y_Bottom_Sprite : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Y_Width
|
G_Width => G_Y_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -120,6 +123,7 @@ begin
|
|||||||
|
|
||||||
INST1_VSpritePipeline_Y_Sprite : entity work.PipelineRegister
|
INST1_VSpritePipeline_Y_Sprite : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Y_Width
|
G_Width => G_Y_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -131,6 +135,7 @@ begin
|
|||||||
|
|
||||||
INST1_VSpritePipeline_Y_Request : entity work.PipelineRegister
|
INST1_VSpritePipeline_Y_Request : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Y_Width
|
G_Width => G_Y_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -147,14 +152,25 @@ begin
|
|||||||
) else '0';
|
) else '0';
|
||||||
|
|
||||||
--@ Calculate the offset address of the sprite
|
--@ Calculate the offset address of the sprite
|
||||||
|
process (R1_Y_Request, R1_Y_Sprite)
|
||||||
|
variable V_SPRITE_ROW_OFFSETS_Address : integer := 0;
|
||||||
|
begin
|
||||||
|
V_SPRITE_ROW_OFFSETS_Address := to_integer(unsigned(R1_Y_Request) - unsigned(R1_Y_Sprite));
|
||||||
|
|
||||||
|
if V_SPRITE_ROW_OFFSETS_Address > 0 and V_SPRITE_ROW_OFFSETS_Address < G_Sprite_Height then
|
||||||
C_Offset <= std_logic_vector(
|
C_Offset <= std_logic_vector(
|
||||||
to_unsigned(
|
to_unsigned(
|
||||||
K_SPRITE_ROW_OFFSETS(to_integer(unsigned(R1_Y_Request) - unsigned(R1_Y_Sprite))),
|
K_SPRITE_ROW_OFFSETS(V_SPRITE_ROW_OFFSETS_Address),
|
||||||
C_Offset'length)
|
C_Offset'length)
|
||||||
);
|
);
|
||||||
|
else
|
||||||
|
C_Offset <= (others => '0');
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
INST_IsVisible_OutputRegister : entity work.PipelineRegister
|
INST_IsVisible_OutputRegister : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => 1
|
G_Width => 1
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
@@ -166,6 +182,7 @@ begin
|
|||||||
|
|
||||||
INST_Offset_OutputRegister : entity work.PipelineRegister
|
INST_Offset_OutputRegister : entity work.PipelineRegister
|
||||||
generic map(
|
generic map(
|
||||||
|
G_PipelineStages => 1,
|
||||||
G_Width => G_Offset_Width
|
G_Width => G_Offset_Width
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
|
Reference in New Issue
Block a user