insomnia1107 发表于 2010-12-29 22:45:07

程序求助,望高手指导。。。

module matrix_vector_mult(y,clk,en,reset,z);
input y;
input clk,en,reset;
output z;

reg z;
wire endrow,data;
reg index;
reg ytemp,ytemp1;
reg i;

matrixromcontrol matrix5x6(.clk(clk),
                        .en(en),
                        .reset(reset),
                        .endrow(endrow),
                        .data(data)
                        );


always@(posedge clk)
begin
if(reset)
   begin
   ytemp<=1'b0;
   z<=5'b0;
   ytemp1<=1'b0;
   end
else
   begin
          if(en)
             begin
          if(endrow==0)
             begin
                     ytemp<=y;
                     ytemp1<=ytemp1^ytemp;
                     end
          else
                begin
                  ytemp<=y;
                z<=ytemp1^ytemp;
                  end
             end
   end
       
end

always@(posedge clk)
begin
if(reset)
   begin
        index<=0;
        end
else
   begin
   if(index==4)
      begin
      index<=0;
      end
        else
           begin
           index<=index+1;
           end
        end       
end
endmodule

其中matrixcontrol在每个始终上升沿输出endrow和data。。。
index是在时钟上升沿加1。



130endrow is x, data is x,index is0
               140endrow is x, data is x,index is1
               140endrow is 0, data is 3,index is1
               180endrow is 0, data is 3,index is2
               180endrow is 1, data is 5,index is2
               220endrow is 1, data is 5,index is3
               220endrow is 1, data is 1,index is3
               260endrow is 1, data is 1,index is4
仿真结果却是这样。。。

怎么办,求高手帮忙。。。
页: [1]
查看完整版本: 程序求助,望高手指导。。。