OpenCores
URL https://opencores.org/ocsvn/jart/jart/trunk

Subversion Repositories jart

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /jart/trunk/BLRT
    from Rev 21 to Rev 22
    Reverse comparison

Rev 21 → Rev 22

/powerGrid.vhd
28,6 → 28,31
 
package powerGrid is
 
--A one stage pipe a+b+c with w width bits in input as well as output.
component p1ax
generic ( W : integer := 36 );
port ( clk : in std_logic;
rst : in std_logic;
enable : in std_logic;
dataa : in std_logic_vector(W-1 downto 0);
datab : in std_logic_vector(W-1 downto 0);
datac : in std_logic_vector(W-1 downto 0);
result : out std_logic_vector(W-1 downto 0)
);
end component;
-- A 1 stage pipe 18x18 multiplier. On Cycle III devices is a M-R (Multiplier, Register). (Should be generated using a synthesis tool....).
component p1m18
port (
aclr : in std_logic ;
clken : in std_logic ;
clock : in std_logic ;
dataa : in std_logic_vector (17 downto 0);
datab : in std_logic_vector (17 downto 0);
result : out std_logic_vector (35 downto 0)
);
end component;
 
-- Signed "less than"
component sl32
port (
57,14 → 82,17
rst : in std_logic;
cIdd : in std_logic_vector (idColW - 1 downto 0); -- This is the reference column identification input.
cIdq : out std_logic_vector (idColW - 1 downto 0); -- This is the sphere identification output.
refvd : in std_logic_vector (W - 1 downto 0); -- This is the projection incoming from the previous cell.
colvd : in std_logic_vector (W - 1 downto 0); -- This is the projection of the sphere position over the ray traced vector, a.k.a. V.D! .
cIdq : out std_logic_vector (idColW - 1 downto 0); -- This is the result column identification output.
refvd : in std_logic_vector (W - 1 downto 0); -- This is the reference projection incoming from the previous cell.
colvd : in std_logic_vector (W - 1 downto 0); -- This is the sphere position over the ray traced vector projection.
selvd : out std_logic_vector (W - 1 downto 0) -- This is the smallest value between refvd and colvd.
)
);
end component;
-- Dot Product Calculation.
-- Dot Product Calculation Cell.
-- A 4 side cell along with an upper side.
-- V input flows through V output using a data flipflop, so turning V output in the next cell on the next row V Input. V input also flows upwards into the dotproduct 3 stage pipeline.
-- D input flows through D output using a data flipflop, so turning D output in the next column cell. D input also flows upwards into the dotproduct 3 stage.
component dotCell
generic ( levelW : integer := 18; -- Actual Level Width
nLevelW : integer := 32); -- Next Level Width
74,6 → 102,8
-- Object control.
nxtSphere : in std_logic; -- This bit controls when the sphere center goes to the next row.
nxtRay : in std_logic; -- This bit controls when the ray goes to the next column.
-- First Side.
vxInput : in std_logic_vector(levelW-1 downto 0);
vyInput : in std_logic_vector(levelW-1 downto 0);
95,15 → 125,14
dzOutput : in std_logic_vector(levelW-1 downto 0);
--Fifth Side (Going to the floor right upstairs!)
vdOutput : out std_logic_vector(nLevelW-1 downto 0); -- Dot product.
vdOutput : out std_logic_vector(nLevelW-1 downto 0) -- Dot product.
);
);
end component;
-- K discriminant comparison.
component kComparisonCell
generic ( W : integer := 32;
idW : integer := 12
);
port (
clk : in std_logic;
110,13 → 139,13
rst : in std_logic;
nxtRow : in std_logic; -- Controls when the sphere goes to the next Row.
vdinput : in std_logic_vector (W-1 downto 0);
kinput : in std_logic_vector (W-1 downto 0);
koutput : out std_logic_vector (W-1 downto 0);
sDP : out std_logic_vector (W-1 downto 0) -- Selected dot product.
sDP : out std_logic_vector (W-1 downto 0) -- Selected dot product.
);
end component;
end component;
end powerGrid;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.