Revision 983
Added by markw over 5 years ago
| eclaireXL_ITX/hdmi/scandoubler_hdmi.vhdl | ||
|---|---|---|
| 
     	O_TMDS_L : OUT STD_LOGIC_VECTOR(7 downto 0);
 
   | 
||
| 
     | 
||
| 
     	-- I2C params
 
   | 
||
| 
     	scl : inout std_logic;
 
   | 
||
| 
     	sda : inout std_logic
 
   | 
||
| 
         scl_in           : in std_logic;
 
   | 
||
| 
         sda_in           : in std_logic;
 
   | 
||
| 
     	 scl_wen          : out std_logic;
 
   | 
||
| 
     	 sda_wen          : out std_logic 
 
   | 
||
| 
     );
 
   | 
||
| 
     END scandoubler_hdmi;
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     signal shift_b_next	: std_logic_vector(9 downto 0) := "0000000000";	
 
   | 
||
| 
     signal shift_clk_next : std_logic_vector(9 downto 0) := "0000000000";
 
   | 
||
| 
     | 
||
| 
     -- i2c
 
   | 
||
| 
     signal multiscale_sda_wen : std_logic;
 
   | 
||
| 
     signal crtc_sda_wen : std_logic;
 
   | 
||
| 
     signal multiscale_scl_wen : std_logic;
 
   | 
||
| 
     signal crtc_scl_wen : std_logic;
 
   | 
||
| 
     | 
||
| 
     BEGIN
 
   | 
||
| 
     | 
||
| 
     --------------------------------------------------------
 
   | 
||
| ... | ... | |
| 
     		vsync => vsync_next,
 
   | 
||
| 
     		blank => blank_next,
 
   | 
||
| 
     | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl => scl		
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,	
 
   | 
||
| 
     		scl_wen => multiscale_scl_wen,
 
   | 
||
| 
     		sda_wen => multiscale_sda_wen
 
   | 
||
| 
     	);	
 
   | 
||
| 
     | 
||
| 
     -- Resynchronization logic
 
   | 
||
| ... | ... | |
| 
     		video_id_code => crtc_video_id_code,
 
   | 
||
| 
     		scaler_select => crtc_scaler_select,
 
   | 
||
| 
     | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl => scl
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,	
 
   | 
||
| 
     		scl_wen => crtc_scl_wen,
 
   | 
||
| 
     		sda_wen => crtc_sda_wen
 
   | 
||
| 
     	);
 
   | 
||
| 
     | 
||
| 
     hdmiav_inst : entity work.hdmi
 
   | 
||
| ... | ... | |
| 
     O_TMDS_H <= shift_r_reg(0) & nshift_r_reg(0) & shift_g_reg(0) & nshift_g_reg(0) & shift_b_reg(0) & nshift_b_reg(0) & shift_clk_reg(0) & nshift_clk_reg(0);
 
   | 
||
| 
     O_TMDS_L <= shift_r_reg(1) & nshift_r_reg(1) & shift_g_reg(1) & nshift_g_reg(1) & shift_b_reg(1) & nshift_b_reg(1) & shift_clk_reg(1) & nshift_clk_reg(1);
 
   | 
||
| 
     | 
||
| 
     -- I2C outputs
 
   | 
||
| 
     sda_wen <= multiscale_sda_wen or crtc_sda_wen;
 
   | 
||
| 
     scl_wen <= multiscale_scl_wen or crtc_scl_wen;
 
   | 
||
| 
     | 
||
| 
     end vhdl;
 
   | 
||
| 
     | 
||
| 
     | 
||
| eclaireXL_ITX/scaler/areascale.vhd | ||
|---|---|---|
| 
         blank : out std_logic;
 
   | 
||
| 
     | 
||
| 
         -- to set up params
 
   | 
||
| 
         sda : inout std_logic;
 
   | 
||
| 
         scl : inout std_logic	 
 
   | 
||
| 
         scl_in           : in std_logic;
 
   | 
||
| 
         sda_in           : in std_logic;
 
   | 
||
| 
     	 scl_wen          : out std_logic;
 
   | 
||
| 
     	 sda_wen          : out std_logic
 
   | 
||
| 
       );
 
   | 
||
| 
     END areascale;
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     		bits => 11
 
   | 
||
| 
     	)
 
   | 
||
| 
     	port map (
 
   | 
||
| 
     		scl => scl,
 
   | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,		
 
   | 
||
| 
     		scl_wen => scl_wen,
 
   | 
||
| 
     		sda_wen => sda_wen,		
 
   | 
||
| 
     		clk => clock,
 
   | 
||
| 
     		rst => not(reset_n),
 
   | 
||
| 
     | 
||
| eclaireXL_ITX/scaler/crtc.vhdl | ||
|---|---|---|
| 
     	scaler_select : out std_logic;
 
   | 
||
| 
     | 
||
| 
     	-- to set up params
 
   | 
||
| 
     	sda : inout std_logic;
 
   | 
||
| 
     	scl : inout std_logic
 
   | 
||
| 
         scl_in           : in std_logic;
 
   | 
||
| 
         sda_in           : in std_logic;
 
   | 
||
| 
     	 scl_wen          : out std_logic;
 
   | 
||
| 
     	 sda_wen          : out std_logic
 
   | 
||
| 
     );
 
   | 
||
| 
     END crtc;
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     		bits => 12
 
   | 
||
| 
     	)
 
   | 
||
| 
     	port map (
 
   | 
||
| 
     		scl => scl,
 
   | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,
 
   | 
||
| 
     		scl_wen => scl_wen,
 
   | 
||
| 
     		sda_wen => sda_wen,
 
   | 
||
| 
     | 
||
| 
     		clk => clk_pixel,
 
   | 
||
| 
     		rst => not(reset_n),
 
   | 
||
| 
     | 
||
| eclaireXL_ITX/scaler/multiscale.vhd | ||
|---|---|---|
| 
         blank : out std_logic;
 
   | 
||
| 
     | 
||
| 
         -- to set up params
 
   | 
||
| 
         sda : inout std_logic;
 
   | 
||
| 
         scl : inout std_logic	 
 
   | 
||
| 
         scl_in           : in std_logic;
 
   | 
||
| 
         sda_in           : in std_logic;
 
   | 
||
| 
     	 scl_wen          : out std_logic;
 
   | 
||
| 
     	 sda_wen          : out std_logic 
 
   | 
||
| 
       );
 
   | 
||
| 
     END multiscale;
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     		vsync => poly_vsync_next,
 
   | 
||
| 
     		blank => poly_blank_next,
 
   | 
||
| 
     | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl => scl		
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,		
 
   | 
||
| 
     		scl_wen => scl_wen,
 
   | 
||
| 
     		sda_wen => sda_wen
 
   | 
||
| 
     	);
 
   | 
||
| 
     end generate gen_polyphasic_on;	
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     		vsync => area_vsync_next,
 
   | 
||
| 
     		blank => area_blank_next,
 
   | 
||
| 
     | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl => scl
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,
 
   | 
||
| 
     		scl_wen => scl_wen,
 
   | 
||
| 
     		sda_wen => sda_wen
 
   | 
||
| 
     	);
 
   | 
||
| 
     end generate gen_area_on;	
 
   | 
||
| 
     | 
||
| eclaireXL_ITX/scaler/polyphasicscale.vhd | ||
|---|---|---|
| 
         blank : out std_logic;
 
   | 
||
| 
     | 
||
| 
         -- to set up params
 
   | 
||
| 
         sda : inout std_logic;
 
   | 
||
| 
         scl : inout std_logic	 
 
   | 
||
| 
         scl_in           : in std_logic;
 
   | 
||
| 
         sda_in           : in std_logic;
 
   | 
||
| 
     	 scl_wen          : out std_logic;
 
   | 
||
| 
     	 sda_wen          : out std_logic
 
   | 
||
| 
       );
 
   | 
||
| 
     END polyphasicscale;
 
   | 
||
| 
     | 
||
| ... | ... | |
| 
     		bits => 11
 
   | 
||
| 
     	)
 
   | 
||
| 
     	port map (
 
   | 
||
| 
     		scl => scl,
 
   | 
||
| 
     		sda => sda,
 
   | 
||
| 
     		scl_in => scl_in,
 
   | 
||
| 
     		sda_in => sda_in,
 
   | 
||
| 
     		scl_wen => scl_wen,
 
   | 
||
| 
     		sda_wen => sda_wen,		
 
   | 
||
| 
     		clk => clock,
 
   | 
||
| 
     		rst => not(reset_n),
 
   | 
||
| 
     | 
||
Split inout into in and out for i2c, better for internal use in fpga