打印

关于ISE中的逻辑模块产生中断信号到microblaze中的问题

[复制链接]
1398|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
520810|  楼主 | 2014-5-5 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,我想请教下,你有没有做过用ISE里面的逻辑产生中断到microblaze呢?我现在试着用BRAM的一个端口连接microblaze,另外一个端口连接ISE里面的逻辑模块,然后将ISE中BRAM写入数据,将数据输出线连接到microblaze中的中断控制器,写入的数据位0、1、0,中断设置的为上升沿触发,我觉得逻辑上是可以实现的,结果生成的bitstream导入到SDK后,发现在指定的地址写入数据无法触发中断,不知道这个该怎么办?
如果知道的话麻烦帮我看下
我在ISE中的逻辑模块的代码如下所示:
module cpu1_intr(
        sysclk,
        sysrst,
        bram_block_0_BRAM_EN_B_pin,
        bram_block_0_BRAM_WEN_B_pin,
        bram_block_0_BRAM_Addr_B_pin,
        bram_block_0_BRAM_Din_B_pin,
        bram_block_0_BRAM_Dout_B_pin,
        CPU1_TO_CPU2_INTR       
    );
        input sysclk;
        input sysrst;
        input bram_block_0_BRAM_EN_B_pin;
        input bram_block_0_BRAM_WEN_B_pin;
        input [31:0] bram_block_0_BRAM_Addr_B_pin;
        output [31:0] bram_block_0_BRAM_Din_B_pin;
        input [31:0] bram_block_0_BRAM_Dout_B_pin;
        output CPU1_TO_CPU2_INTR;
       
assign CPU1_TO_CPU2_INTR_cs = bram_block_0_BRAM_EN_B_pin & (bram_block_0_BRAM_Addr_B_pin[31:0] == 32'h0x10000300);//6020H
reg  CPU1_TO_CPU2_INTR;
always @(posedge sysclk or posedge sysrst)
if (sysrst) CPU1_TO_CPU2_INTR <= #1 1'b0;
else if(CPU1_TO_CPU2_INTR_cs&bram_block_0_BRAM_WEN_B_pin) CPU1_TO_CPU2_INTR <= #1 bram_block_0_BRAM_Dout_B_pin[0];
assign bram_block_0_BRAM_Din_B_pin = CPU1_TO_CPU2_INTR_cs ? {31'b0,CPU1_TO_CPU2_INTR} : 32'hzzzzzzzz;



endmodule

顶层模块如下所示:
module system_top
  (
  fpga_0_clk_1_sys_clk_pin,
  fpga_0_rst_1_sys_rst_pin,
  fpga_0_RS232_RX_pin,
  fpga_0_RS232_TX_pin,
  fpga_0_RS232_USB_RX_pin,
  fpga_0_RS232_USB_TX_pin,
  fpga_0_LEDs_8Bit_GPIO_IO_O_pin,
  fpga_0_DIP_Switches_8Bit_GPIO_IO_I_pin
  );
  input fpga_0_clk_1_sys_clk_pin;
  input fpga_0_rst_1_sys_rst_pin;
  input fpga_0_RS232_RX_pin;
  output fpga_0_RS232_TX_pin;
  input fpga_0_RS232_USB_RX_pin;
  output fpga_0_RS232_USB_TX_pin;
  output [0:7] fpga_0_LEDs_8Bit_GPIO_IO_O_pin;
  input [0:7] fpga_0_DIP_Switches_8Bit_GPIO_IO_I_pin;
  wire bram_block_0_BRAM_EN_B_pin;
  wire bram_block_0_BRAM_WEN_B_pin;
  wire [31:0] bram_block_0_BRAM_Addr_B_pin;
  wire [31:0] bram_block_0_BRAM_Din_B_pin;
  wire [31:0] bram_block_0_BRAM_Dout_B_pin;
  wire CPU1_TO_CPU2_INTR;
  wire sysclk;
  wire sysrst;


  (* BOX_TYPE = "user_black_box" *)
  system system_i (
    .fpga_0_RS232_RX_pin(fpga_0_RS232_RX_pin),
    .fpga_0_RS232_TX_pin(fpga_0_RS232_TX_pin),
    .fpga_0_RS232_USB_RX_pin(fpga_0_RS232_USB_RX_pin),
    .fpga_0_RS232_USB_TX_pin(fpga_0_RS232_USB_TX_pin),
    .fpga_0_LEDs_8Bit_GPIO_IO_O_pin(fpga_0_LEDs_8Bit_GPIO_IO_O_pin),
    .fpga_0_DIP_Switches_8Bit_GPIO_IO_I_pin(fpga_0_DIP_Switches_8Bit_GPIO_IO_I_pin),
    .fpga_0_clk_1_sys_clk_pin(fpga_0_clk_1_sys_clk_pin),
    .fpga_0_rst_1_sys_rst_pin(fpga_0_rst_1_sys_rst_pin),
    .CPU1_TO_CPU2_INTR(CPU1_TO_CPU2_INTR),
    .CPU2_TO_CPU1_INTR(CPU2_TO_CPU1_INTR),
    .bram_block_0_BRAM_Rst_B_pin(bram_block_0_BRAM_Rst_B_pin),
    .bram_block_0_BRAM_Clk_B_pin(bram_block_0_BRAM_Clk_B_pin),
    .bram_block_0_BRAM_EN_B_pin(bram_block_0_BRAM_EN_B_pin),
    .bram_block_0_BRAM_WEN_B_pin(bram_block_0_BRAM_WEN_B_pin),
    .bram_block_0_BRAM_Addr_B_pin(bram_block_0_BRAM_Addr_B_pin),
    .bram_block_0_BRAM_Din_B_pin(bram_block_0_BRAM_Din_B_pin),
    .bram_block_0_BRAM_Dout_B_pin(bram_block_0_BRAM_Dout_B_pin),
    .sysclk(sysclk),
    .sysrst(sysrst)
    );
cpu1_intr cpu1_intr (
    .sysclk(sysclk),
    .sysrst(sysrst),
    .bram_block_0_BRAM_EN_B_pin(bram_block_0_BRAM_EN_B_pin),
    .bram_block_0_BRAM_WEN_B_pin(bram_block_0_BRAM_WEN_B_pin),
    .bram_block_0_BRAM_Addr_B_pin(bram_block_0_BRAM_Addr_B_pin),
    .bram_block_0_BRAM_Din_B_pin(bram_block_0_BRAM_Din_B_pin),
    .bram_block_0_BRAM_Dout_B_pin(bram_block_0_BRAM_Dout_B_pin),
    .CPU1_TO_CPU2_INTR(CPU1_TO_CPU2_INTR)
    );
endmodule



相关帖子

沙发
520810|  楼主 | 2014-5-6 09:54 | 只看该作者
有没有人帮着看看呢,谢谢了啊

使用特权

评论回复
板凳
雪夜虫子| | 2014-5-7 09:22 | 只看该作者
本帖最后由 雪夜虫子 于 2015-7-23 09:11 编辑

..

使用特权

评论回复
地板
520810|  楼主 | 2014-5-8 12:43 | 只看该作者
雪夜虫子 发表于 2014-5-7 09:22
怎么个无法触发中断?你确实抓到中断信号的上调沿了?再就是,你的MicroBlaze生成时,中断设置是否把中断使 ...

我是在SDK中调试的,中断都已使能,但无法进入中断程序。中断信号的上升沿我是用软件产生的

使用特权

评论回复
5
520810|  楼主 | 2014-5-19 21:16 | 只看该作者
都没人看的啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:虚心学习

8

主题

107

帖子

0

粉丝