Line 27... |
Line 27... |
use IEEE.numeric_std.all;
|
use IEEE.numeric_std.all;
|
use WORK.common.all;
|
use WORK.common.all;
|
use WORK.xsasdram.all;
|
use WORK.xsasdram.all;
|
use WORK.sdram.all;
|
use WORK.sdram.all;
|
use WORK.vga_pckg.all;
|
use WORK.vga_pckg.all;
|
|
<<<<<<< gpuchip.vhd
|
|
use WORK.gpu_core_pckg.all;
|
|
=======
|
use WORK.fillunit_pckg.all;
|
use WORK.fillunit_pckg.all;
|
|
>>>>>>> 1.5
|
|
|
entity gpuChip is
|
entity gpuChip is
|
|
|
generic(
|
generic(
|
FREQ : natural := 50_000; -- frequency of operation in KHz
|
FREQ : natural := 50_000; -- frequency of operation in KHz
|
Line 62... |
Line 66... |
pin_green : out std_logic_vector(1 downto 0);
|
pin_green : out std_logic_vector(1 downto 0);
|
pin_blue : out std_logic_vector(1 downto 0);
|
pin_blue : out std_logic_vector(1 downto 0);
|
pin_hsync_n : out std_logic;
|
pin_hsync_n : out std_logic;
|
pin_vsync_n : out std_logic;
|
pin_vsync_n : out std_logic;
|
|
|
|
-- SRAM Cache connections
|
|
pin_cData : inout std_logic_vector(15 downto 0); -- data bus to Cache
|
|
pin_cAddr : out std_logic_vector(14 downto 0); -- Cache address bus
|
|
pin_cwrite : out std_logic;
|
|
pin_cread : out std_logic;
|
|
|
-- SDRAM pin connections
|
-- SDRAM pin connections
|
pin_sclkfb : in std_logic; -- feedback SDRAM clock with PCB delays
|
pin_sclkfb : in std_logic; -- feedback SDRAM clock with PCB delays
|
pin_sclk : out std_logic; -- clock to SDRAM
|
pin_sclk : out std_logic; -- clock to SDRAM
|
pin_cke : out std_logic; -- SDRAM clock-enable
|
pin_cke : out std_logic; -- SDRAM clock-enable
|
pin_cs_n : out std_logic; -- SDRAM chip-select
|
pin_cs_n : out std_logic; -- SDRAM chip-select
|
Line 275... |
Line 285... |
hsync_n => pin_hsync_n, -- horizontal sync
|
hsync_n => pin_hsync_n, -- horizontal sync
|
vsync_n => pin_vsync_n, -- vertical sync
|
vsync_n => pin_vsync_n, -- vertical sync
|
blank => open
|
blank => open
|
);
|
);
|
|
|
|
|
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
-- instance of fill-unit
|
-- instance of fill-unit
|
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
|
|
u4: fillunit
|
-- u4: fillunit
|
|
-- generic map(
|
|
-- FREQ => FREQ,
|
|
-- DATA_WIDTH => DATA_WIDTH,
|
|
-- HADDR_WIDTH => ADDR_WIDTH
|
|
-- )
|
|
-- port map(
|
|
-- clk => sdram_clk1x, -- master clock
|
|
-- reset => sysReset, -- reset for this entity
|
|
-- rd1 => rd1, -- initiate read operation
|
|
-- wr1 => wr1, -- initiate write operation
|
|
-- opBegun => opBegun1, --operation recieved
|
|
-- done1 => done1, -- read or write operation is done
|
|
-- hAddr1 => hAddr1, -- address to SDRAM
|
|
-- hDIn1 => hDIn1, -- data to dualport to SDRAM
|
|
-- hDOut1 => hDOut1 -- data from dualport to SDRAM
|
|
-- );
|
|
--
|
|
|
|
u5: gpu_core
|
generic map(
|
generic map(
|
FREQ => FREQ,
|
FREQ => FREQ,
|
DATA_WIDTH => DATA_WIDTH,
|
DATA_WIDTH => DATA_WIDTH,
|
HADDR_WIDTH => ADDR_WIDTH
|
HADDR_WIDTH => ADDR_WIDTH
|
)
|
)
|
port map(
|
port map(
|
clk => sdram_clk1x, -- master clock
|
clk =>sdram_clk1x,
|
reset => sysReset, -- reset for this entity
|
rst =>sysReset,
|
rd1 => rd1, -- initiate read operation
|
rd1 =>rd1,
|
wr1 => wr1, -- initiate write operation
|
wr1 =>wr1,
|
opBegun => opBegun1, --operation recieved
|
opBegun =>opBegun1,
|
done1 => done1, -- read or write operation is done
|
done1 =>done1,
|
hAddr1 => hAddr1, -- address to SDRAM
|
rddone1 =>rddone1,
|
hDIn1 => hDIn1, -- data to dualport to SDRAM
|
hAddr1 =>hAddr1,
|
hDOut1 => hDOut1 -- data from dualport to SDRAM
|
hDIn1 =>hDIn1,
|
|
hDOut1 =>hDOut1,
|
|
CacheDIn =>pin_cData,
|
|
CacheAddr =>pin_cAddr,
|
|
cread =>pin_cread,
|
|
cwrite =>pin_cwrite
|
);
|
);
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------
|
-- End of Submodules
|
-- End of Submodules
|
--------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------
|
-- Begin Top Level Module
|
-- Begin Top Level Module
|
|
|
-- connect internal signals
|
-- connect internal signals
|
rst_i <= sysReset;
|
rst_i <= sysReset;
|
pin_ce_n <= '1'; -- disable Flash RAM
|
pin_ce_n <= '1'; -- disable Flash RAM
|
rd0 <= ((not full) and drawframe); -- negate the full signal for use in controlling the SDRAM read operation
|
rd0 <= ((not full) and drawframe); -- negate the full signal for use in controlling the SDRAM read operation
|
hDIn0 <= "0000000000000000000000"; -- don't need to write to port 0 (VGA Port)
|
hDIn0 <= "0000000000000000"; -- don't need to write to port 0 (VGA Port)
|
wr0 <= '0';
|
wr0 <= '0';
|
hAddr0 <= std_logic_vector(vga_address);
|
hAddr0 <= std_logic_vector(vga_address);
|
|
|
-- Port0 is reserved for VGA
|
-- Port0 is reserved for VGA
|
|
|