aouo1987 发表于 2011-3-28 21:28:39

请问下下面的语句可以通过通过综合吗

module gcd(clk,x_i,y_i,go_i,d_o);
parameter N=6;
input x_i,y_i;
input clk, go_i;
output d_o;

parameter s0=3'b000,s1=3'b001,s2=3'b011,s3=3'b111,
          s4=3'b101,s5=3'b100,s6=3'b110;
reg d_o;                        
reg current_state,next_state;
reg x,y,r;


always @(posedge clk)
current_state<=next_state;
always@(current_state or x_i or y_i or go_i or x or y or r)
case( current_state )
   s0:if(go_i)
           next_state<=s1;
                else next_state<=s0;
        s1:if(x_i>=y_i)
           next_state<=s2;
                else next_state<=s3;
        s2:begin next_state<=s4;end
        s3:begin next_state<=s4;end
        s4:if(y>0)
           next_state<=s5;
                else next_state<=s6;
        s5:begin next_state<=s4;end
   s6:begin next_state<=s0;end
default:next_state<=s0;
endcase       
always @(negedge clk)
case(current_state)
   s2:begin x=x_i;y=y_i; end
        s3:begin x=y_i;y=x_i; end




        s5:begin r=x%y;x=y;y=r; end
        //求余可以直接这么做吗?

               s6:begin d_o=x; end
        default: ;
       
endcase
       


endmodule
页: [1]
查看完整版本: 请问下下面的语句可以通过通过综合吗