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;
|
|
use WORK.fillunit_pckg.all;
|
|
|
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 46... |
Line 47... |
PIXEL_WIDTH : natural := 8; -- width of a pixel in memory
|
PIXEL_WIDTH : natural := 8; -- width of a pixel in memory
|
NUM_RGB_BITS : natural := 2; -- #bits in each R,G,B component of a pixel
|
NUM_RGB_BITS : natural := 2; -- #bits in each R,G,B component of a pixel
|
PIXELS_PER_LINE : natural := 320; -- width of image in pixels
|
PIXELS_PER_LINE : natural := 320; -- width of image in pixels
|
LINES_PER_FRAME : natural := 240; -- height of image in scanlines
|
LINES_PER_FRAME : natural := 240; -- height of image in scanlines
|
FIT_TO_SCREEN : boolean := true; -- adapt video timing to fit image width x
|
FIT_TO_SCREEN : boolean := true; -- adapt video timing to fit image width x
|
PORT_TIME_SLOTS : std_logic_vector(15 downto 0) := "0000000000000000"
|
PORT_TIME_SLOTS : std_logic_vector(15 downto 0) := "0000111100001111"
|
);
|
);
|
|
|
port(
|
port(
|
pin_clkin : in std_logic; -- main clock input from external clock source
|
pin_clkin : in std_logic; -- main clock input from external clock source
|
pin_ce_n : out std_logic; -- Flash RAM chip-enable
|
pin_ce_n : out std_logic; -- Flash RAM chip-enable
|
Line 244... |
Line 245... |
sData => pin_sData, -- SDRAM databus
|
sData => pin_sData, -- SDRAM databus
|
dqmh => pin_dqmh, -- SDRAM DQMH
|
dqmh => pin_dqmh, -- SDRAM DQMH
|
dqml => pin_dqml -- SDRAM DQML
|
dqml => pin_dqml -- SDRAM DQML
|
);
|
);
|
|
|
|
------------------------------------------------------------------------------------------------------------
|
|
-- instance of vga
|
|
------------------------------------------------------------------------------------------------------------
|
|
|
|
|
------------------------------------------------------------------------
|
|
-- Instantiate the VGA module
|
|
------------------------------------------------------------------------
|
|
u3 : vga
|
u3 : vga
|
generic map (
|
generic map (
|
FREQ => FREQ,
|
FREQ => FREQ,
|
CLK_DIV => VGA_CLK_DIV,
|
CLK_DIV => VGA_CLK_DIV,
|
PIXEL_WIDTH => PIXEL_WIDTH,
|
PIXEL_WIDTH => PIXEL_WIDTH,
|
Line 272... |
Line 274... |
b => pin_blue,
|
b => pin_blue,
|
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
|
|
------------------------------------------------------------------------------------------------------------
|
|
|
|
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
|
|
);
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------
|
-- End of Submodules
|
-- End of Submodules
|
--------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------
|
-- Begin Top Level Module
|
-- Begin Top Level Module
|
|
|