Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-08-2004, 14:19   #1
BlackWinterDay
Member
 
L'Avatar di BlackWinterDay
 
Iscritto dal: Dec 2003
Città: Parabiago (MI)
Messaggi: 206
[VHDL] seno e coseno in virgola mobile

Devo realizzare un ALU floating-point in vhdl..
la cosa che mi da più problemi è come fare per il calcolo del seno e del coseno. Qualcuno mi saprebbe aiutare?
BlackWinterDay è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 14:48   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Interessante...me lo sono sempre chiesto... Come si realizzano seno e coseno in una FPU ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 15:43   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Normalmente per interpolazione, eventualmente in congiunzione con uno sviluppo di Taylor locale, credo.
Non è un argomento facile, ti consiglio di rivolgerti presso www.opencores.org per vedere se possono aiutarti. Hanno realizzato delle fpu e dei processor core "open source", forse puoi trovare qualche spunto.
Però ti ripeto che _non_ è facile.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 15:47   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ci sta che sia generati in aniera tabellare...e poi per interpolazione fra i due punti della tabella più vicini ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 15:50   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
E' un modo. Poi se al posto della semplice interpolazione usi uno sviluppo in serie locale, dovrebbe essere un _buon_ modo.
Farlo in vhdl però non è la cosa più divertente del mondo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 15:52   #6
BlackWinterDay
Member
 
L'Avatar di BlackWinterDay
 
Iscritto dal: Dec 2003
Città: Parabiago (MI)
Messaggi: 206
Quote:
Originariamente inviato da ilsensine
Normalmente per interpolazione, eventualmente in congiunzione con uno sviluppo di Taylor locale, credo.
Non è un argomento facile, ti consiglio di rivolgerti presso www.opencores.org per vedere se possono aiutarti. Hanno realizzato delle fpu e dei processor core "open source", forse puoi trovare qualche spunto.
Però ti ripeto che _non_ è facile.
Anche io pensavo a Taylor.. ho già guardato la fpu di opencores ma non ha seno e coseno.

Ho appena scoperto che esiste un algoritmo chiamato CORDIC (COrdinate Rotation DIgital Computer). Qualcuno lo conosce?
BlackWinterDay è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 16:02   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da BlackWinterDay
Anche io pensavo a Taylor.. ho già guardato la fpu di opencores ma non ha seno e coseno.
Hanno anche diversi core di cpu, ma non so se hanno sin/cos. Dovresti spulciarti i sorgenti.

Sono tanti anni che non vedo il vhdl, bei ricordi...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 16:06   #8
BlackWinterDay
Member
 
L'Avatar di BlackWinterDay
 
Iscritto dal: Dec 2003
Città: Parabiago (MI)
Messaggi: 206
Quote:
Originariamente inviato da ilsensine

Sono tanti anni che non vedo il vhdl, bei ricordi...
Io non vedo l'ora di accantonarlo

CORDIC sembra promettente.. cerco di capirci qualche cosa.
BlackWinterDay è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2004, 16:13   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Io conosco solo Verilog...sorry
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2004, 07:15   #10
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originariamente inviato da BlackWinterDay
Io non vedo l'ora di accantonarlo

CORDIC sembra promettente.. cerco di capirci qualche cosa.
Il CORDIC è la formula ricorsiva per il calcolo di sin(x) e cos(x) attraverso rotazioni in un sistema polare.

Su www.opencores.org ci sono core verilog/VHDL free, per esempio quello del CORDIC è:

http://www.opencores.org/projects.cg...ordic/overview
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2004, 10:59   #11
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 15:18.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2004, 15:07   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Bello
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2004, 16:52   #13
BlackWinterDay
Member
 
L'Avatar di BlackWinterDay
 
Iscritto dal: Dec 2003
Città: Parabiago (MI)
Messaggi: 206
Quote:
Originariamente inviato da repne scasb
Questo e' l'algoritmo base con cui un Intel i80486DX esegue l'istruzione assembly float FSIN:

1) Sia X l'argomento della funzione Seno.
2) Viene calcolata la quantita' intera A=X/(Pi/2). NOTA: Pi=Pgreco, la divisione e' float.
3) Viene calcolata la quantita' float B=(X/(Pi/2)-Q)*(Pi/2).
4) Vengono salvati i bit 0 e 1 di A, il resto viene ignorato.
5) Se il bit 0 di A e' 0 allora B=B; se il bit 0 di A=1 allora B=(Pi/2)-B.
6) B viene "normalizzato" mediante trasformazione da float a intero.
7) L'operazione di normalizzazione genera un indice e un sub-indice interi.
8) L'indice viene utilizzato come puntatore ad una tabella in cui risiedono i valori precalcolati di SIN(X).
9) Il sub-indice viene utilizzato come puntatore ad una sotto-sotto-tabelle contenente il valore di correzione.
10) Sia C il valore trovato al punto 8) e D il valore trovato al punto 9).Y=SIN(X)=C+D.
11) Se il bit 1 di A e' 0 allora Y=Y; se il bit 1 di A=1 allora Y=-Y.

Mediamente vengono utilizzati 241 cicli di clock.

NOTA(1): i punti 2) e 3) vengono eseguiti contemporaneamente.
NOTA(2): il punto 7) e' molto piu' complessa di quello che sembra.
NOTA(3): i punti 8) e 9) vengono eseguti contemporaneamente.

Devo però ricorrere comunque a una tabella con dei valori precalcolati del seno.,
BlackWinterDay è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2004, 16:54   #14
BlackWinterDay
Member
 
L'Avatar di BlackWinterDay
 
Iscritto dal: Dec 2003
Città: Parabiago (MI)
Messaggi: 206
Quote:
Originariamente inviato da lombardp
Il CORDIC è la formula ricorsiva per il calcolo di sin(x) e cos(x) attraverso rotazioni in un sistema polare.

Su www.opencores.org ci sono core verilog/VHDL free, per esempio quello del CORDIC è:

http://www.opencores.org/projects.cg...ordic/overview
Pensi che possa servirmi di Cordic?
BlackWinterDay è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2004, 07:08   #15
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originariamente inviato da BlackWinterDay
Pensi che possa servirmi di Cordic?
Questo non so dirtelo con certezza, però praticamente TUTTI i core verilog/VHDL usano il CORDIC per fare le operazioni trigonometriche.

Ti invito nuovamente a dare un'occhiata al core su www.opencores.org, almeno per capire come hanno affrontato il problema.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Avio si prepara ai test del Dimostratore...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v