Verilog Pergunta - paralelo vs seqüencial fim

W

woodde123

Guest
Oi eu tenho um problema de codificação verilog: O seguinte é o que eu quero fazer: Uma vez que eu apertar um botão para carregar um número, o conteúdo do Value_1 é movido a value_2, o conteúdo do Current_Value é movido para Value_1, eo conteúdo de input_data é passar para Current_Value. No entanto, após a execução do código a seguir, value_1 e value_2 armazenar o mesmo valor que Current_Value. Como corrigir o código? Como posso obter a instrução executada na ordem especificada seqüencial? Por favor me ajude. ... input [01:00] input_data; reg [01:00] value_2, Value_1, Current_Value, Current_Value_Temp; sempre @ (posedge clk) begin if (reset) / / ativa alta começam value_2 = 2'b0; Value_1 = 2'b0; Current_Value = 2'b0; end else if (carga) / / ativa alta começam value_2 = Value_1; Value_1 = Current_Value; Current_Value = input_data; end end ...
 
Acredito que não deve bloquear atribuições corrigir esse problema, eu não sei porque ele não fez por você. Como você está testando esse código?
 
Por "pressionando um botão", Eu suponho que você está usando hardware real. Você está usando o botão para acionar o sinal de clock? Se assim for, você precisa de estabilização do sinal de clock. Se não, você está dirigindo o sinal de relógio com um sinal do oscilador, e dirigir o sinal de carga com o botão? Se assim for, então o seu sinal de clock é muito rápido. Você não está vendo o breve momento, quando as saídas são diferentes.
 

Welcome to EDABoard.com

Sponsor

Back
Top