fast punkt å flyttall konvertering i Verilog

M

marufsust

Guest
Hei, jeg mastergradsstudent. for prosjektet mitt formål trenger jeg litt flyttall beregning. men inngangen er i 16bit fast punkt verdi. Jeg trenger å konvertere dette 16bit fast verdi til IEEE64 bit Floating format. 7380H = 0111 0011 1000 0000 konvertere til 0 (100 0000 1101) (1100 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000) kan noen hjelpe meg hvordan jeg kunne gjøre det i Verilog? thanx på forhånd MAruf
 
Operasjonen innebærer: - konvertering av to komplementet til sign-magnitude representasjon (for negative tall) - normalisering (shift igjen til MSB = 1, justere eksponent henholdsvis)
 
Jeg prøvde koden min er som denne modulen normalize_integer (klokke, operand, resultat); inngang klokke, inngang [15:00] operand, utdata [63:0] resultat; reg [04:00] i = 5'b01111; reg [ 15:00] butikken; reg [51:0] mantisse; reg [10:00] eksponent; reg [63:0] resultat; alltid @ (posedge klokke) begynne butikk
 
Koden vil være en god kandidat for en avisens quiz side. :) Det er ingen skade i å plassere kun ett oppdrag per kodelinje og bruke overflødige plass til en kommentar. Minst eksponenten beregningen virker galt. Koden håndterer eneste usignerte tall. Men generelt ville jeg forvente noe sånt som dette. Kombinasjonen av en klokket gjennomkøyring for butikken og en n-fold forskyvning av mantissen er mest sannsynlig ikke optimal for hardware gjennomføring. Du ville enten forsøke å beregne resultatet i en syklus, eller skift mantissen trinnvis.
 
Ya du har rett. Dens feil kode. Men jeg er ny på Verilog. vennligst du avklare litt mer? Eller NY forslag hvordan å fikse dette problemet?
 

Welcome to EDABoard.com

Sponsor

Back
Top