a5soc: fmcjesdadc1+hdmi version

main
Rejeesh Kutty 2014-08-13 13:54:10 -04:00
parent 2b15c7313e
commit 39bb7ca231
4 changed files with 58 additions and 33 deletions

View File

@ -507,7 +507,7 @@ module axi_hdmi_tx_core (
end else if ((hdmi_full_range == 1'b0) && end else if ((hdmi_full_range == 1'b0) &&
(hdmi_es_data_s[15:8] > 8'heb)) begin (hdmi_es_data_s[15:8] > 8'heb)) begin
hdmi_es_data[15:8] <= 8'heb; hdmi_es_data[15:8] <= 8'heb;
end else if ((hdmi_full_range == 1'b1) && end else if ((hdmi_full_range == 1'b0) &&
(hdmi_es_data_s[15:8] < 8'h10)) begin (hdmi_es_data_s[15:8] < 8'h10)) begin
hdmi_es_data[15:8] <= 8'h10; hdmi_es_data[15:8] <= 8'h10;
end else begin end else begin
@ -518,7 +518,7 @@ module axi_hdmi_tx_core (
end else if ((hdmi_full_range == 1'b0) && end else if ((hdmi_full_range == 1'b0) &&
(hdmi_es_data_s[7:0] > 8'heb)) begin (hdmi_es_data_s[7:0] > 8'heb)) begin
hdmi_es_data[7:0] <= 8'heb; hdmi_es_data[7:0] <= 8'heb;
end else if ((hdmi_full_range == 1'b1) && end else if ((hdmi_full_range == 1'b0) &&
(hdmi_es_data_s[7:0] < 8'h10)) begin (hdmi_es_data_s[7:0] < 8'h10)) begin
hdmi_es_data[7:0] <= 8'h10; hdmi_es_data[7:0] <= 8'h10;
end else begin end else begin

View File

@ -15,7 +15,7 @@ set_instance_assignment -name IO_STANDARD "1.5 V" -to sys_clk
# hdmi # hdmi
# data[6] (C23) and data[10] (C22) are not populated # data[6] (C23) and data[10] (C22) are not populated
# replacing with C19) and C18 for now # replacing with C19 and C18 for now
set_location_assignment PIN_A21 -to hdmi_out_clk set_location_assignment PIN_A21 -to hdmi_out_clk
set_location_assignment PIN_B25 -to hdmi_data[0] set_location_assignment PIN_B25 -to hdmi_data[0]
@ -52,6 +52,17 @@ set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_data[13]
set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_data[14] set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_data[14]
set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_data[15] set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_data[15]
# i2c (hdmi)
set_location_assignment PIN_F26 -to hdmi_scl
set_location_assignment PIN_G26 -to hdmi_sda
set_location_assignment PIN_N23 -to hdmi_rstn
set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_scl
set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_sda
set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_rstn
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to hdmi_scl
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to hdmi_sda
# led & switches # led & switches
set_location_assignment PIN_AD24 -to led[3] set_location_assignment PIN_AD24 -to led[3]
@ -136,13 +147,6 @@ set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to eth1_rxd3
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to eth1_mdc set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to eth1_mdc
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to eth1_mdio set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to eth1_mdio
# i2c
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to i2c0_scl
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to i2c0_sda
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to i2c0_scl
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to i2c0_sda
# ddr # ddr
set_instance_assignment -name D5_DELAY 2 -to ddr3_ck_p set_instance_assignment -name D5_DELAY 2 -to ddr3_ck_p

View File

@ -144,11 +144,11 @@
type = "String"; type = "String";
} }
} }
element axi_hdmi_tx.s_axi element axi_dmac_0.s_axi
{ {
datum baseAddress datum baseAddress
{ {
value = "0"; value = "49152";
type = "String"; type = "String";
} }
} }
@ -160,6 +160,14 @@
type = "String"; type = "String";
} }
} }
element axi_hdmi_tx.s_axi
{
datum baseAddress
{
value = "0";
type = "String";
}
}
element axi_dmac_1.s_axi element axi_dmac_1.s_axi
{ {
datum baseAddress datum baseAddress
@ -168,14 +176,6 @@
type = "String"; type = "String";
} }
} }
element axi_dmac_0.s_axi
{
datum baseAddress
{
value = "49152";
type = "String";
}
}
element axi_ad9250_1.s_axi element axi_ad9250_1.s_axi
{ {
datum baseAddress datum baseAddress
@ -505,6 +505,17 @@
internal="axi_hdmi_tx.hdmi_if" internal="axi_hdmi_tx.hdmi_if"
type="conduit" type="conduit"
dir="end" /> dir="end" />
<interface
name="sys_hps_i2c0_scl_in"
internal="sys_hps.i2c0_scl_in"
type="clock"
dir="end" />
<interface
name="sys_hps_i2c0_clk"
internal="sys_hps.i2c0_clk"
type="clock"
dir="start" />
<interface name="sys_hps_i2c0" internal="sys_hps.i2c0" type="conduit" dir="end" />
<module kind="altera_hps" version="14.0" enabled="1" name="sys_hps"> <module kind="altera_hps" version="14.0" enabled="1" name="sys_hps">
<parameter name="MEM_VENDOR" value="JEDEC" /> <parameter name="MEM_VENDOR" value="JEDEC" />
<parameter name="MEM_FORMAT" value="DISCRETE" /> <parameter name="MEM_FORMAT" value="DISCRETE" />
@ -949,8 +960,8 @@
<parameter name="UART0_Mode" value="No Flow Control" /> <parameter name="UART0_Mode" value="No Flow Control" />
<parameter name="UART1_PinMuxing" value="Unused" /> <parameter name="UART1_PinMuxing" value="Unused" />
<parameter name="UART1_Mode" value="N/A" /> <parameter name="UART1_Mode" value="N/A" />
<parameter name="I2C0_PinMuxing" value="HPS I/O Set 0" /> <parameter name="I2C0_PinMuxing" value="FPGA" />
<parameter name="I2C0_Mode" value="I2C" /> <parameter name="I2C0_Mode" value="Full" />
<parameter name="I2C1_PinMuxing" value="Unused" /> <parameter name="I2C1_PinMuxing" value="Unused" />
<parameter name="I2C1_Mode" value="N/A" /> <parameter name="I2C1_Mode" value="N/A" />
<parameter name="I2C2_PinMuxing" value="Unused" /> <parameter name="I2C2_PinMuxing" value="Unused" />
@ -997,7 +1008,7 @@
<parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_SPIM1_SCLK_OUT" value="100" /> <parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_SPIM1_SCLK_OUT" value="100" />
<parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_SPIS0_SCLK_IN" value="100" /> <parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_SPIS0_SCLK_IN" value="100" />
<parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_SPIS1_SCLK_IN" value="100" /> <parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_SPIS1_SCLK_IN" value="100" />
<parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_I2C0_SCL_IN" value="100" /> <parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_I2C0_SCL_IN" value="0" />
<parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_I2C0_CLK" value="100" /> <parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_I2C0_CLK" value="100" />
<parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_I2C1_SCL_IN" value="100" /> <parameter name="FPGA_PERIPHERAL_INPUT_CLOCK_FREQ_I2C1_SCL_IN" value="100" />
<parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_I2C1_CLK" value="100" /> <parameter name="FPGA_PERIPHERAL_OUTPUT_CLOCK_FREQ_I2C1_CLK" value="100" />
@ -1411,9 +1422,9 @@
<parameter name="PCORE_DEVICE_TYPE" value="16" /> <parameter name="PCORE_DEVICE_TYPE" value="16" />
<parameter name="PCORE_AXI_ID_WIDTH" value="14" /> <parameter name="PCORE_AXI_ID_WIDTH" value="14" />
<parameter name="PCORE_Cr_Cb_N" value="0" /> <parameter name="PCORE_Cr_Cb_N" value="0" />
<parameter name="PCORE_EMBEDDED_SYNC" value="0" /> <parameter name="PCORE_EMBEDDED_SYNC" value="1" />
<parameter name="AUTO_S_AXI_CLOCK_CLOCK_RATE" value="50000000" /> <parameter name="AUTO_S_AXI_CLOCK_CLOCK_RATE" value="50000000" />
<parameter name="AUTO_HDMI_CLOCK_CLOCK_RATE" value="148484848" /> <parameter name="AUTO_HDMI_CLOCK_CLOCK_RATE" value="148437500" />
<parameter name="AUTO_VDMA_CLOCK_CLOCK_RATE" value="50000000" /> <parameter name="AUTO_VDMA_CLOCK_CLOCK_RATE" value="50000000" />
</module> </module>
<module kind="altera_pll" version="14.0" enabled="1" name="sys_hdmi_pll"> <module kind="altera_pll" version="14.0" enabled="1" name="sys_hdmi_pll">
@ -1423,7 +1434,7 @@
<parameter name="device" value="5ASTFD5K3F40I3ES" /> <parameter name="device" value="5ASTFD5K3F40I3ES" />
<parameter name="gui_device_speed_grade" value="2" /> <parameter name="gui_device_speed_grade" value="2" />
<parameter name="gui_pll_mode" value="Integer-N PLL" /> <parameter name="gui_pll_mode" value="Integer-N PLL" />
<parameter name="gui_reference_clock_frequency" value="100.0" /> <parameter name="gui_reference_clock_frequency" value="50.0" />
<parameter name="gui_channel_spacing" value="0.0" /> <parameter name="gui_channel_spacing" value="0.0" />
<parameter name="gui_operation_mode" value="direct" /> <parameter name="gui_operation_mode" value="direct" />
<parameter name="gui_feedback_clock" value="Global Clock" /> <parameter name="gui_feedback_clock" value="Global Clock" />

View File

@ -101,8 +101,6 @@ module system_top (
usb1_d7, usb1_d7,
uart0_rx, uart0_rx,
uart0_tx, uart0_tx,
i2c0_scl,
i2c0_sda,
// board gpio // board gpio
@ -114,6 +112,9 @@ module system_top (
hdmi_out_clk, hdmi_out_clk,
hdmi_data, hdmi_data,
hdmi_scl,
hdmi_sda,
hdmi_rstn,
// lane interface // lane interface
@ -190,8 +191,6 @@ module system_top (
inout usb1_d7; inout usb1_d7;
input uart0_rx; input uart0_rx;
output uart0_tx; output uart0_tx;
inout i2c0_scl;
inout i2c0_sda;
// board gpio // board gpio
@ -203,6 +202,9 @@ module system_top (
output hdmi_out_clk; output hdmi_out_clk;
output [ 15:0] hdmi_data; output [ 15:0] hdmi_data;
inout hdmi_scl;
inout hdmi_sda;
output hdmi_rstn;
// lane interface // lane interface
@ -239,6 +241,8 @@ module system_top (
wire spi_mosi; wire spi_mosi;
wire spi_miso; wire spi_miso;
wire hdmi_scl_oe;
wire hdmi_sda_oe;
wire adc0_enable_a_s; wire adc0_enable_a_s;
wire [ 31:0] adc0_data_a_s; wire [ 31:0] adc0_data_a_s;
wire adc0_enable_b_s; wire adc0_enable_b_s;
@ -353,6 +357,10 @@ module system_top (
.spi_miso (spi_miso), .spi_miso (spi_miso),
.spi_sdio (spi_sdio)); .spi_sdio (spi_sdio));
assign hdmi_rstn = 1'b1;
assign hdmi_scl = (hdmi_scl_oe == 1'b1) ? 1'b0 : 1'bz;
assign hdmi_sda = (hdmi_sda_oe == 1'b1) ? 1'b0 : 1'bz;
system_bd i_system_bd ( system_bd i_system_bd (
.sys_hps_memory_mem_a (ddr3_a), .sys_hps_memory_mem_a (ddr3_a),
.sys_hps_memory_mem_ba (ddr3_ba), .sys_hps_memory_mem_ba (ddr3_ba),
@ -470,8 +478,6 @@ module system_top (
.sys_hps_io_hps_io_usb1_inst_NXT (usb1_nxt), .sys_hps_io_hps_io_usb1_inst_NXT (usb1_nxt),
.sys_hps_io_hps_io_uart0_inst_RX (uart0_rx), .sys_hps_io_hps_io_uart0_inst_RX (uart0_rx),
.sys_hps_io_hps_io_uart0_inst_TX (uart0_tx), .sys_hps_io_hps_io_uart0_inst_TX (uart0_tx),
.sys_hps_io_hps_io_i2c0_inst_SDA (i2c0_sda),
.sys_hps_io_hps_io_i2c0_inst_SCL (i2c0_scl),
.sys_hps_h2f_reset_reset_n (sys_resetn), .sys_hps_h2f_reset_reset_n (sys_resetn),
.sys_gpio_external_connection_in_port ({rx_xcvr_status_s, 4'd0, push_buttons, 4'd0, dip_switches}), .sys_gpio_external_connection_in_port ({rx_xcvr_status_s, 4'd0, push_buttons, 4'd0, dip_switches}),
.sys_gpio_external_connection_out_port ({14'd0, rx_sw_rstn_s, rx_sysref_s, 12'd0, led}), .sys_gpio_external_connection_out_port ({14'd0, rx_sw_rstn_s, rx_sysref_s, 12'd0, led}),
@ -488,7 +494,11 @@ module system_top (
.axi_hdmi_tx_0_hdmi_if_h36_hsync (), .axi_hdmi_tx_0_hdmi_if_h36_hsync (),
.axi_hdmi_tx_0_hdmi_if_h36_vsync (), .axi_hdmi_tx_0_hdmi_if_h36_vsync (),
.axi_hdmi_tx_0_hdmi_if_h36_data_e (), .axi_hdmi_tx_0_hdmi_if_h36_data_e (),
.axi_hdmi_tx_0_hdmi_if_h36_data ()); .axi_hdmi_tx_0_hdmi_if_h36_data (),
.sys_hps_i2c0_scl_in_clk (hdmi_scl),
.sys_hps_i2c0_clk_clk (hdmi_scl_oe),
.sys_hps_i2c0_out_data (hdmi_sda_oe),
.sys_hps_i2c0_sda (hdmi_sda));
endmodule endmodule