adv7511: Update interrupts.

The ad_interrupts.v was used to concatenate the interrupts.
main
Istvan Csomortani 2014-10-27 19:48:05 +02:00
parent a870603db5
commit 4f15f5c34c
16 changed files with 351 additions and 80 deletions

View File

@ -3,4 +3,4 @@ source $ad_hdl_dir/projects/common/ac701/ac701_system_bd.tcl
set_property -dict [list CONFIG.NUM_MI {7}] $axi_cpu_interconnect
set_property -dict [list CONFIG.NUM_SI {8}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_MI {1}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_PORTS {5}] $sys_concat_intc

View File

@ -7,7 +7,8 @@ source $ad_hdl_dir/projects/scripts/adi_project.tcl
adi_project_create adv7511_ac701
adi_project_files adv7511_ac701 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/ac701/ac701_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/ac701/ac701_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_ac701

View File

@ -147,6 +147,48 @@ module system_top (
assign mgt_clk_sel = 2'd0;
wire timer_irq;
wire eth_irq;
wire eth_dma_mm2s_irq;
wire eth_dma_s2mm_irq;
wire uart_irq;
wire gpio_lcd_irq;
wire gpio_sw_irq;
wire spdif_dma_irq;
wire iic_irq;
wire hdmi_dma_irq;
wire [31:0] mb_axi_intr;
ad_interrupts #(
.C_PROC_TYPE(0)
) i_ad_interrupts (
.timer_irq(timer_irq),
.eth_irq(eth_irq),
.eth_dma_mm2s_irq(eth_dma_mm2s),
.eth_dma_s2mm_irq(eth_dma_s2mm),
.uart_irq(uart_irq),
.gpio_lcd_irq(gpio_lcd_irq),
.gpio_sw_irq(gpio_sw_irq),
.spdif_dma_irq(spdif_dma_irq),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(mb_axi_intr),
.ps7_irq_f2p());
// instantiations
system_wrapper i_system_wrapper (
@ -191,7 +233,18 @@ module system_top (
.sys_clk_p (sys_clk_p),
.sys_rst (sys_rst),
.uart_sin (uart_sin),
.uart_sout (uart_sout));
.uart_sout (uart_sout),
.timer_irq (timer_irq),
.eth_irq (eth_irq),
.eth_dma_mm2s_irq (eth_dma_mm2s_irq),
.eth_dma_s2mm_irq (eth_dma_s2mm_irq),
.uart_irq (uart_irq),
.gpio_lcd_irq (gpio_lcd_irq),
.gpio_sw_irq (gpio_sw_irq),
.spdif_dma_irq (spdif_dma_irq),
.iic_irq (iic_irq),
.hdmi_dma_irq (hdmi_dma_irq),
.mb_axi_intr (mb_axi_intr));
endmodule

View File

@ -3,5 +3,4 @@ source $ad_hdl_dir/projects/common/kc705/kc705_system_bd.tcl
set_property -dict [list CONFIG.NUM_MI {7}] $axi_cpu_interconnect
set_property -dict [list CONFIG.NUM_SI {8}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_MI {1}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_PORTS {5}] $sys_concat_intc

View File

@ -7,7 +7,8 @@ source $ad_hdl_dir/projects/scripts/adi_project.tcl
adi_project_create adv7511_kc705
adi_project_files adv7511_kc705 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/kc705/kc705_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/kc705/kc705_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_kc705

View File

@ -153,6 +153,46 @@ module system_top (
output spdif;
wire timer_irq;
wire eth_irq;
wire uart_irq;
wire gpio_lcd_irq;
wire gpio_sw_irq;
wire spdif_dma_irq;
wire iic_irq;
wire hdmi_dma_irq;
wire [31:0] mb_axi_intr;
ad_interrupts #(
.C_PROC_TYPE(0)
) i_ad_interrupts (
.timer_irq(timer_irq),
.eth_irq(eth_irq),
.eth_dma_mm2s_irq(),
.eth_dma_s2mm_irq(),
.uart_irq(uart_irq),
.gpio_lcd_irq(gpio_lcd_irq),
.gpio_sw_irq(gpio_sw_irq),
.spdif_dma_irq(spdif_dma_irq),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(mb_axi_intr),
.ps7_irq_f2p());
// instantiations
system_wrapper i_system_wrapper (
@ -203,10 +243,15 @@ module system_top (
.sys_rst (sys_rst),
.uart_sin (uart_sin),
.uart_sout (uart_sout),
.unc_int0 (1'b0),
.unc_int1 (1'b0),
.unc_int2 (1'b0),
.unc_int3 (1'b0));
.timer_irq (timer_irq),
.eth_irq (eth_irq),
.uart_irq (uart_irq),
.gpio_lcd_irq (gpio_lcd_irq),
.gpio_sw_irq (gpio_sw_irq),
.spdif_dma_irq (spdif_dma_irq),
.iic_irq (iic_irq),
.hdmi_dma_irq (hdmi_dma_irq),
.mb_axi_intr (mb_axi_intr));
endmodule

View File

@ -5,7 +5,8 @@ source $ad_hdl_dir/projects/scripts/adi_project.tcl
adi_project_create adv7511_kcu105
adi_project_files adv7511_kcu105 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/kcu105/kcu105_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/kcu105/kcu105_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_kcu105

View File

@ -143,6 +143,48 @@ module system_top (
assign fan_pwm = 1'b1;
wire timer_irq;
wire eth_irq;
wire eth_dma_mm2s_irq;
wire eth_dma_s2mm_irq;
wire uart_irq;
wire gpio_lcd_irq;
wire gpio_sw_irq;
wire spdif_dma_irq;
wire iic_irq;
wire hdmi_dma_irq;
wire [31:0] mb_axi_intr;
ad_interrupts #(
.C_PROC_TYPE(0)
) i_ad_interrupts (
.timer_irq(timer_irq),
.eth_irq(eth_irq),
.eth_dma_mm2s_irq(eth_dma_mm2s),
.eth_dma_s2mm_irq(eth_dma_s2mm),
.uart_irq(uart_irq),
.gpio_lcd_irq(gpio_lcd_irq),
.gpio_sw_irq(gpio_sw_irq),
.spdif_dma_irq(spdif_dma_irq),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(mb_axi_intr),
.ps7_irq_f2p());
// instantiations
system_wrapper i_system_wrapper (
@ -187,9 +229,17 @@ module system_top (
.sys_rst (sys_rst),
.uart_sin (uart_sin),
.uart_sout (uart_sout),
.unc_int2 (1'b0),
.unc_int3 (1'b0),
.unc_int4 (1'b0));
.timer_irq (timer_irq),
.eth_irq (eth_irq),
.eth_dma_mm2s_irq (eth_dma_mm2s_irq),
.eth_dma_s2mm_irq (eth_dma_s2mm_irq),
.uart_irq (uart_irq),
.gpio_lcd_irq (gpio_lcd_irq),
.gpio_sw_irq (gpio_sw_irq),
.spdif_dma_irq (spdif_dma_irq),
.iic_irq (iic_irq),
.hdmi_dma_irq (hdmi_dma_irq),
.mb_axi_intr (mb_axi_intr));
endmodule

View File

@ -3,6 +3,5 @@ source $ad_hdl_dir/projects/common/vc707/vc707_system_bd.tcl
set_property -dict [list CONFIG.NUM_MI {7}] $axi_cpu_interconnect
set_property -dict [list CONFIG.NUM_SI {8}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_MI {1}] $axi_mem_interconnect
set_property -dict [list CONFIG.NUM_PORTS {5}] $sys_concat_intc

View File

@ -5,7 +5,8 @@ source ${ad_hdl_dir}/projects/scripts/adi_project.tcl
adi_project_create adv7511_vc707
adi_project_files adv7511_vc707 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/vc707/vc707_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/vc707/vc707_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_vc707

View File

@ -145,6 +145,48 @@ module system_top (
output spdif;
wire timer_irq;
wire eth_irq;
wire eth_dma_mm2s_irq;
wire eth_dma_s2mm_irq;
wire uart_irq;
wire gpio_lcd_irq;
wire gpio_sw_irq;
wire spdif_dma_irq;
wire iic_irq;
wire hdmi_dma_irq;
wire [31:0] mb_axi_intr;
ad_interrupts #(
.C_PROC_TYPE(0)
) i_ad_interrupts (
.timer_irq(timer_irq),
.eth_irq(eth_irq),
.eth_dma_mm2s_irq(eth_dma_mm2s),
.eth_dma_s2mm_irq(eth_dma_s2mm),
.uart_irq(uart_irq),
.gpio_lcd_irq(gpio_lcd_irq),
.gpio_sw_irq(gpio_sw_irq),
.spdif_dma_irq(spdif_dma_irq),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(mb_axi_intr),
.ps7_irq_f2p());
// instantiations
system_wrapper i_system_wrapper (
@ -189,7 +231,18 @@ module system_top (
.sys_clk_p (sys_clk_p),
.sys_rst (sys_rst),
.uart_sin (uart_sin),
.uart_sout (uart_sout));
.uart_sout (uart_sout),
.timer_irq (timer_irq),
.eth_irq (eth_irq),
.eth_dma_mm2s_irq (eth_dma_mm2s_irq),
.eth_dma_s2mm_irq (eth_dma_s2mm_irq),
.uart_irq (uart_irq),
.gpio_lcd_irq (gpio_lcd_irq),
.gpio_sw_irq (gpio_sw_irq),
.spdif_dma_irq (spdif_dma_irq),
.iic_irq (iic_irq),
.hdmi_dma_irq (hdmi_dma_irq),
.mb_axi_intr (mb_axi_intr));
endmodule

View File

@ -2,7 +2,6 @@
source $ad_hdl_dir/projects/common/zc702/zc702_system_bd.tcl
set_property -dict [list CONFIG.PCW_GPIO_EMIO_GPIO_IO {32}] $sys_ps7
set_property -dict [list CONFIG.NUM_MI {7}] $axi_cpu_interconnect
set_property -dict [list CONFIG.NUM_PORTS {5}] $sys_concat_intc
set_property LEFT 31 [get_bd_ports GPIO_I]
set_property LEFT 31 [get_bd_ports GPIO_O]

View File

@ -7,7 +7,9 @@ source $ad_hdl_dir/projects/scripts/adi_project.tcl
adi_project_create adv7511_zc702
adi_project_files adv7511_zc702 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/zc702/zc702_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/zc702/zc702_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_iobuf.v" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_zc702

View File

@ -115,22 +115,53 @@ module system_top (
// internal signals
wire [31:0] gpio_i;
wire [31:0] gpio_o;
wire [31:0] gpio_t;
wire [15:0] gpio_i;
wire [15:0] gpio_o;
wire [15:0] gpio_t;
wire hdmi_dma_irq;
wire iic_irq;
wire [15:0] ps7_irq_f2p;
// instantiations
genvar n;
generate
for (n = 0; n <= 15; n = n + 1) begin: g_iobuf_gpio_bd
IOBUF i_iobuf_gpio_bd (
.I (gpio_o[n]),
.O (gpio_i[n]),
.T (gpio_t[n]),
.IO (gpio_bd[n]));
end
endgenerate
ad_iobuf #(
.DATA_WIDTH(16)
) i_gpio_bd (
.dt(gpio_t),
.di(gpio_o),
.do(gpio_i),
.dio(gpio_bd));
ad_interrupts #(
.C_PROC_TYPE(1)
) i_ad_interrupts (
.timer_irq(1'b0),
.eth_irq(1'b0),
.eth_dma_mm2s_irq(1'b0),
.eth_dma_s2mm_irq(1'b0),
.uart_irq(1'b0),
.gpio_lcd_irq(1'b0),
.gpio_sw_irq(1'b0),
.spdif_dma_irq(1'b0),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(),
.ps7_irq_f2p(ps7_irq_f2p));
system_wrapper i_system_wrapper (
.DDR_addr (DDR_addr),
@ -164,7 +195,10 @@ module system_top (
.hdmi_vsync (hdmi_vsync),
.iic_main_scl_io (iic_scl),
.iic_main_sda_io (iic_sda),
.spdif (spdif));
.spdif (spdif),
.hdmi_dma_irq (hdmi_dma_irq),
.iic_irq (iic_irq),
.ps7_irq_f2p (ps7_irq_f2p));
endmodule

View File

@ -1,14 +1,13 @@
source ../../scripts/adi_env.tcl
source $ad_hdl_dir/projects/scripts/adi_project.tcl
adi_project_create adv7511_zc706
adi_project_files adv7511_zc706 [list \
"system_top.v" \
"$ad_hdl_dir/projects/common/zc706/zc706_system_constr.xdc" ]
"$ad_hdl_dir/projects/common/zc706/zc706_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_iobuf.v" \
"$ad_hdl_dir/library/common/ad_interrupts.v"]
adi_project_run adv7511_zc706

View File

@ -115,22 +115,53 @@ module system_top (
// internal signals
wire [31:0] gpio_i;
wire [31:0] gpio_o;
wire [31:0] gpio_t;
wire [14:0] gpio_i;
wire [14:0] gpio_o;
wire [14:0] gpio_t;
wire hdmi_dma_irq;
wire iic_irq;
wire [15:0] ps7_irq_f2p;
// instantiations
genvar n;
generate
for (n = 0; n <= 14; n = n + 1) begin: g_iobuf_gpio_bd
IOBUF i_iobuf_gpio_bd (
.I (gpio_o[n]),
.O (gpio_i[n]),
.T (gpio_t[n]),
.IO (gpio_bd[n]));
end
endgenerate
ad_iobuf #(
.DATA_WIDTH(15)
) i_gpio_bd (
.dt(gpio_t),
.di(gpio_o),
.do(gpio_i),
.dio(gpio_bd));
ad_interrupts #(
.C_PROC_TYPE(1)
) i_ad_interrupts (
.timer_irq(1'b0),
.eth_irq(1'b0),
.eth_dma_mm2s_irq(1'b0),
.eth_dma_s2mm_irq(1'b0),
.uart_irq(1'b0),
.gpio_lcd_irq(1'b0),
.gpio_sw_irq(1'b0),
.spdif_dma_irq(1'b0),
.hdmi_dma_irq(hdmi_dma_irq),
.iic_irq(iic_irq),
.dev0_dma_irq(1'b0),
.dev1_dma_irq(1'b0),
.dev2_dma_irq(1'b0),
.dev3_dma_irq(1'b0),
.dev4_dma_irq(1'b0),
.dev5_dma_irq(1'b0),
.spi0_irq(1'b0),
.spi1_irq(1'b0),
.spi2_irq(1'b0),
.spi3_irq(1'b0),
.gpio0_irq(1'b0),
.gpio1_irq(1'b0),
.gpio2_irq(1'b0),
.gpio3_irq(1'b0),
.mb_axi_intr(),
.ps7_irq_f2p(ps7_irq_f2p));
system_wrapper i_system_wrapper (
.DDR_addr (DDR_addr),
@ -164,7 +195,10 @@ module system_top (
.hdmi_vsync (hdmi_vsync),
.iic_main_scl_io (iic_scl),
.iic_main_sda_io (iic_sda),
.spdif (spdif));
.spdif (spdif),
.hdmi_dma_irq (hdmi_dma_irq),
.iic_irq (iic_irq),
.ps7_irq_f2p (ps7_irq_f2p));
endmodule