K
kart339
Guest
Hallo ppl,
Ik ben het ontwerpen van een combinatorische logica blok waarvan een 6 bit verdeler is een belangrijk onderdeel.Ik kwam dit probleem toen ik de scheidingslijn gecodeerd in Verilog.Hier is de code ...
altijd @ (posedge clk) beginnen
if (rst) Div_Out = 0;
else if (highz) Div_Out = 6'bz;anders Div_Out = IN1/IN2;end / / end altijd
testbench:IN1 = 6'd4;IN2 = 6'd5;Ik krijg de oplossing als 0 en voor die gevallen waarin IN1> IN2, krijg ik 1.Ik word geacht om een fractionele nummer (zoals 0.5, 0.6 ... etc) als het resultaat voor gebruik in mijn volgende blok.Ik temporaritly dit probleem opgelost door gebruik te makenDiv_Out = IN1 * 10/IN2Ik krijg mijn resultaat als 8 voor 0,8 die ik nog steeds kan gebruiken. (Zoals het is logica)
Maar als duidelijk is zal ik geraakt op mijn gebied alsmede macht als ik dat 6 bit multiplier!Is er een betere oplossing is dat iemand weet ...... deel uw info.Zal zeer dankbaar zijn!
Bedankt iedereen!
Kart
Ik ben het ontwerpen van een combinatorische logica blok waarvan een 6 bit verdeler is een belangrijk onderdeel.Ik kwam dit probleem toen ik de scheidingslijn gecodeerd in Verilog.Hier is de code ...
altijd @ (posedge clk) beginnen
if (rst) Div_Out = 0;
else if (highz) Div_Out = 6'bz;anders Div_Out = IN1/IN2;end / / end altijd
testbench:IN1 = 6'd4;IN2 = 6'd5;Ik krijg de oplossing als 0 en voor die gevallen waarin IN1> IN2, krijg ik 1.Ik word geacht om een fractionele nummer (zoals 0.5, 0.6 ... etc) als het resultaat voor gebruik in mijn volgende blok.Ik temporaritly dit probleem opgelost door gebruik te makenDiv_Out = IN1 * 10/IN2Ik krijg mijn resultaat als 8 voor 0,8 die ik nog steeds kan gebruiken. (Zoals het is logica)
Maar als duidelijk is zal ik geraakt op mijn gebied alsmede macht als ik dat 6 bit multiplier!Is er een betere oplossing is dat iemand weet ...... deel uw info.Zal zeer dankbaar zijn!
Bedankt iedereen!
Kart