Перейти к содержанию
    

формирователь короткого импульса

пишу в Active-hdl 6.3 Sp2 синтез Synplify8.2 размещение Ise 7.1

на timing симуляции для Spartan-3 формирователь короткого импульса

работает корректно 50 микросекунд а потом выдает неопределенность 1 и 0 одновременно что это такое ничего не могу поделать с таким столкнулся впервые к слову другие схемы работают также какое-то время корректно а потом неопределенность вот код:

module trig(rst,clk,start,ready);

input rst,clk,start;

output ready;

 

wire rst,clk,start;

reg ready;

reg [1:0] curr_state,next_state;

parameter s0=2'b00, s1=2'b01, s2=2'b10, s3=2'b11;

 

always @ ( curr_state or start)

begin

next_state<= curr_state;

ready<=0;

case(curr_state)

s0:

begin

ready<=0;

if (start==0)

next_state<=s1;

else next_state <= s0;

end

s1:

begin

ready<=0;

if (start==1)

next_state<=s1;

else next_state <= s2;

end

s2:

begin

ready<=1;

next_state<=s3;

end

s3:

begin

ready<=0;

if (start==1)

next_state<=s1;

else next_state <= s3;

end

endcase

end

 

always @ (posedge rst or posedge clk)

begin

if (rst==1)

curr_state <= s0 ;

else

curr_state <= next_state;

end

 

endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно это реализовать проще:

 

module trig(rst,clk,start,ready);

parameter s0=2'b00, s1=2'b01, s2=2'b10, s3=2'b11;

input rst,clk,start;
output ready;

reg ready;
reg [1:0] curr_state;


always @ (posedge rst or posedge clk)
begin 
  if (rst) begin
     curr_state <= s0;
     ready <= 1'b0; 
  end else begin
     case (curr_state)
         s0: begin
             if (start)
                curr_state <= s1;
             else 
                curr_state <= s0;
         end
         s1: begin
             ready <= 1'b1;
             curr_state <= s2;    
         end
         s2: begin
             ready <= 1'b0;
             curr_state <= s3;
         end
         s3: begin
             if (!start) 
                curr_state <= s0;
             else 
                curr_state <= s3;   
         end
     endcase
  end
end 

endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...