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

Subversion Repositories raytrac

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /raytrac/trunk
    from Rev 46 to Rev 47
    Reverse comparison

Rev 46 → Rev 47

/tb.vhd
35,7 → 35,7
end tb;
 
 
ARCHITECTURE tb_arch OF tb IS
architecture tb_arch of tb is
 
signal qa : std_logic_vector (53 downto 0);
signal qb : std_logic_vector (53 downto 0);
44,21 → 44,21
signal clock,rst,ena: std_logic;
signal opcode,addcode:std_logic;
signal dp0,dp1,cpx,cpy,cpz : std_logic_vector(31 downto 0);
signal address: std_logic_vector (8 downto 0)
signal address: std_logic_vector (8 downto 0);
BEGIN
begin
--! Generador de clock.
clk: clock_gen
clk_inst: clock_gen
port map (clock,rst); -- Instanciacion simple.
 
--! Device Under Test
dude: raytrac
generic map ("YES"); -- Entrada registrada, pues la ROM no tiene salida registrada.
generic port(qa,qb,qc,qd,opcode,addcode,clk,rst,ena,cpx,cpy,cpz,dp0,dp1);
generic map ("YES") -- Entrada registrada, pues la ROM no tiene salida registrada.
port map(qa,qb,qc,qd,opcode,addcode,clock,rst,ena,cpx,cpy,cpz,dp0,dp1);
--! Descripcion del test: 512 x (2/clock) productos punto y 1024 x (1/clock) productos cruz.
thetest:
process (clk,rst)
process (clock,rst)
variable addressCounter : integer := 0;
variable tbs : tbState;
begin
69,7 → 69,7
addcode <= '1';
tbs := abcd;
ena <= '1';
elsif clk'event and clk = '1' then
elsif clock'event and clock = '1' then
-- Register States when clock went up ...
case tbs is
86,8 → 86,8
when cxd =>
address <= address + 1;
addcode <= not(addcode);
if address X"000" then
wait;
if address=X"000" then
null;
end if;
when others =>
end case;
97,7 → 97,7
--! 512x18 rom con los componentes ax.
AX : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
114,7 → 114,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qa (17 downto 0)
122,7 → 122,7
 
--! 512x18 rom con los componentes ay.
AY : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
139,7 → 139,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qa (35 downto 18)
147,7 → 147,7
 
--! 512x18 rom con los componentes az.
AZ : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
164,7 → 164,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qa (53 downto 36)
172,7 → 172,7
--! 512x18 rom con los componentes bx.
BX : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
189,7 → 189,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qb (17 downto 0)
197,7 → 197,7
 
--! 512x18 rom con los componentes by.
BY : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
214,7 → 214,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qb (35 downto 18)
222,7 → 222,7
 
--! 512x18 rom con los componentes bz.
BZ : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
239,7 → 239,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qb (53 downto 36)
247,7 → 247,7
 
--! 512x18 rom con los componentes cx.
CX : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
264,7 → 264,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qc (17 downto 0)
272,7 → 272,7
 
--! 512x18 rom con los componentes cy.
CY : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
289,7 → 289,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qc (35 downto 18)
297,7 → 297,7
 
--! 512x18 rom con los componentes cz.
CZ : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
314,7 → 314,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qc (53 downto 36)
322,7 → 322,7
--! 512x18 rom con los componentes dx.
DX : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
339,7 → 339,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qd (17 downto 0)
347,7 → 347,7
 
--! 512x18 rom con los componentes dy.
DY : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
364,7 → 364,7
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qd (35 downto 18)
372,7 → 372,7
 
--! 512x18 rom con los componentes dz.
DZ : altsyncram
GENERIC MAP (
generic map (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
389,11 → 389,11
width_a => 18,
width_byteena_a => 1
)
PORT MAP (
port map (
clock0 => clock,
address_a => address,
q_a => qd (53 downto 36)
);
 
END tb_arch;
end tb_arch;
 
/arithpack.vhd
27,9 → 27,12
 
--! Biblioteca de definicion de memorias de altera
library altera_mf;
 
--! Paquete para manejar memorias internas tipo M9K
use altera_mf.all;
 
--! Biblioteca de modulos parametrizados.
library lpm;
use lpm.all;
--! Package con las definiciones de constantes y entidades, que conformaran el Rt Engine. Tambien con algunas descripciones para realizar test bench.
 
--! En general el package cuenta con entidades para instanciar, multiplicadores, sumadores/restadores y un decodificador de operaciones.
63,7 → 66,7
);
end component;
--! Componente memoria instanciado mediante la biblioteca de altera
--! componente memoria instanciado mediante la biblioteca de altera
component altsyncram
generic (
address_aclr_a : string;
128,6 → 131,15
end component;
 
component r_a18_b18_smul_c32_r
generic (
lpm_hint : string := "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9";
lpm_pipeline : natural:= 2;
lpm_representation : string:="SIGNED";
lpm_type : string:="LPM_MULT";
lpm_widtha : natural:=18;
lpm_widthb : natural:=18;
lpm_widthp : natural:=32
);
port (
aclr,clock:in std_logic;
dataa,datab:in std_logic_vector (17 downto 0);

powered by: WebSVN 2.1.0

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