K
kart339
Guest
Olá ppl,
Eu estou projetando um bloco de lógica de combinações que um divisor de 6 bits é uma parte importante.Me deparei com esse problema quando eu codificado o divisor em Verilog.Aqui está o código ...
always @ (posedge clk) begin
if (RST) Div_Out = 0;
else if (highz) Div_Out = 6'bz;else Div_Out = IN1/IN2;end / / fim sempre
testbench:IN1 = 6'd4;IN2 = 6'd5;Tenho a solução como 0 e para aqueles casos em que IN1> IN2, fico com 1.Eu sou suposto a obter um número fracionário (como 0,5, 0,6 etc ...) como o resultado para usar no meu próximo bloco.Eu temporaritly resolvido esse problema usandoDiv_Out = IN1 * 10/IN2Eu recebo o meu resultado em 8 para 0,8 que eu ainda posso usar. (Como é lógico)
Mas, como é óbvio que vai ter sucesso na minha área, bem como o poder que se eu usar 6 bits multiplicador!Existe uma solução melhor do que alguém sabe ...... queira compartilhar suas informações.Vai ser muito grato!
Obrigado a todos!
Kart
Eu estou projetando um bloco de lógica de combinações que um divisor de 6 bits é uma parte importante.Me deparei com esse problema quando eu codificado o divisor em Verilog.Aqui está o código ...
always @ (posedge clk) begin
if (RST) Div_Out = 0;
else if (highz) Div_Out = 6'bz;else Div_Out = IN1/IN2;end / / fim sempre
testbench:IN1 = 6'd4;IN2 = 6'd5;Tenho a solução como 0 e para aqueles casos em que IN1> IN2, fico com 1.Eu sou suposto a obter um número fracionário (como 0,5, 0,6 etc ...) como o resultado para usar no meu próximo bloco.Eu temporaritly resolvido esse problema usandoDiv_Out = IN1 * 10/IN2Eu recebo o meu resultado em 8 para 0,8 que eu ainda posso usar. (Como é lógico)
Mas, como é óbvio que vai ter sucesso na minha área, bem como o poder que se eu usar 6 bits multiplicador!Existe uma solução melhor do que alguém sabe ...... queira compartilhar suas informações.Vai ser muito grato!
Obrigado a todos!
Kart