打印
[FPGA]

求助,为什么我的信号必须写成output仿真才能看见波形

[复制链接]
663|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1400240124|  楼主 | 2019-9-27 21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
module fifo_ctrol(
                                                input                                                  user_clk,
                                                input                                                  ddr_clk,
                                                input                                                  rst,

                                                                        );
                                                                       
                                data_in<=0;
                        end
                else if(!full_flag)
                                        begin
                                                wr_en<=1;
                                                if(wr_ack)
                                                        begin
                                                                data_in<=data_in+512'd10;
                                                        end
                                        end
                                else
                                        begin
                                                wr_en<=0;
                                        end
        end

fifo_ip wr_fifo (
  .rst(rst), // input rst
  .wr_clk(user_clk), // input wr_clk
  .rd_clk(ddr_clk), // input rd_clk
  .din(data_in_wire), // input [511 : 0] din
  .wr_en(wr_en_wire), // input wr_en
  .rd_en(rd_en_wire), // input rd_en
  .dout(data_out), // output [255 : 0] dout
  .full(full_flag), // output full
  .wr_ack(wr_ack), // output wr_ack
  .empty(empty_flag), // output empty
  .valid(valid), // output valid
  .rd_data_count(rd_data_count), // output [9 : 0] rd_data_count
  .wr_data_count(wr_data_count) // output [8 : 0] wr_data_count
);

endmodule

data_in,wr_en,rd_en三个信号是我定义的信号,在always块中赋值,三个信号连接到ip核上,所以我不需要输出他们,可是我发现只有把信号写成output 仿真中才能看到正确的数值。不写成output 仿真是三条蓝线。求助大佬是什么原因。

使用特权

评论回复

相关帖子

沙发
1400240124|  楼主 | 2019-9-27 21:12 | 只看该作者
module fifo_ctrol(
                                                input                                                  user_clk,
                                                input                                                  ddr_clk,
                                                input                                                  rst,

                                                                        );
                                                                       
reg  [511:0] data_in;
reg                                          wr_en;
reg                                          rd_en;        




wire [255:0] data_out;
wire                                   full_flag;
wire                                  empty_flag;
wire                                  valid;
wire                                  wr_ack;
wire [8:0]          wr_data_count;
wire [9:0]          rd_data_count;



always@(posedge user_clk or negedge rst)
        begin
                if(!rst)
                        begin
                                wr_en<=0;
                                data_in<=0;
                        end
                else if(!full_flag)
                                        begin
                                                wr_en<=1;
                                                if(wr_ack)
                                                        begin
                                                                data_in<=data_in+512'd10;
                                                        end
                                        end
                                else
                                        begin
                                                wr_en<=0;
                                        end
        end
       
always@(posedge ddr_clk or negedge rst)       
        begin
                if(!rst)
                        begin
                                rd_en<=0;
                        end
                else if((!empty_flag))
                                        begin
                                                //data_out_r<=data_out;
                                                rd_en<=1;
                                        end
        end
fifo_ip wr_fifo (
  .rst(rst), // input rst
  .wr_clk(user_clk), // input wr_clk
  .rd_clk(ddr_clk), // input rd_clk
  .din(data_in_wire), // input [511 : 0] din
  .wr_en(wr_en_wire), // input wr_en
  .rd_en(rd_en_wire), // input rd_en
  .dout(data_out), // output [255 : 0] dout
  .full(full_flag), // output full
  .wr_ack(wr_ack), // output wr_ack
  .empty(empty_flag), // output empty
  .valid(valid), // output valid
  .rd_data_count(rd_data_count), // output [9 : 0] rd_data_count
  .wr_data_count(wr_data_count) // output [8 : 0] wr_data_count
);

endmodule

使用特权

评论回复
板凳
1400240124|  楼主 | 2019-9-27 21:13 | 只看该作者
之前上传的代码有点问题,重新传了一份。麻烦大家

使用特权

评论回复
地板
zhangmangui| | 2019-9-28 20:06 | 只看该作者
不写为output的话就认为信号没用  被优化掉了

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝