Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Previsione di un risultato di un moltiplicatore a 8 bit.

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utenteblaise92 » 16 nov 2018, 14:11

Buongiorno volevo porre un quesito. Esiste un modo hardware per poter prevedere se una moltiplicaIoni tra 2 vettori di 8 bit, uno rappresentante un numero positivo e l’altro negativo, sia minore di una certa soglia fissata? Per ingressi entrambi positivi o negativi avevo pensato di sommare i leading zero o i leading uno rispettivamente. Ma per ingressi di segno opposto come si potrebbe fare?
Avatar utente
Foto Utenteblaise92
0 2
 
Messaggi: 13
Iscritto il: 17 ott 2018, 12:03

0
voti

[2] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utentedadduni » 17 nov 2018, 0:56

Il circuito é combinatorio, implementa la tabella di verità e l hardware viene di conseguenza. Se sono 8 bit vuol dire che sono 7bit+segno e questo riduce la complessità perche sei sicuro il risultato è negativo e lavori solo sui moduli.
Davide
Avatar utente
Foto Utentedadduni
1.655 2 6 12
Expert EY
Expert EY
 
Messaggi: 1028
Iscritto il: 23 mag 2014, 16:26

0
voti

[3] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utenteblaise92 » 17 nov 2018, 20:09

Grazie per la risposta Davide. Ma mi potresti spiegare un po' meglio?
Supponendo di escludere il bit di segno come posso impostare la tabella di veritá coi restanti 7 bit?
Avatar utente
Foto Utenteblaise92
0 2
 
Messaggi: 13
Iscritto il: 17 ott 2018, 12:03

0
voti

[4] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto UtenteMarcoD » 17 nov 2018, 20:37

Io purtroppo non so farlo :oops: o forse riuscirei se mi impegnassi :-)
Perché non provi prima a moltiplicare in modo combinatorio due numeri interi positivi di 4 bit .
Una volta risolto, lo estendi ;-) :idea:
Una volta lo avrei forse risolto con una EPROM da 256 byte .
Avatar utente
Foto UtenteMarcoD
6.249 4 8 13
Master EY
Master EY
 
Messaggi: 2462
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[5] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utentedadduni » 18 nov 2018, 13:56

Come lo vuoi realizzare? Su una FPGA o su un circuito a componenti digitali discreti (chip con and or not ecc...) ? spero che sia la prima scelta: farlo discreto potrebbe essere un... "discreto" casino :mrgreen: :lol:
L'idea dietro la tabella di verità di un circuito combinatorio è quella di stabilire apriori su carta ad ogni possibile ingresso che uscita corrisponde.
\begin{tabular}{|l|l|l|}
\hline
A & B & A and B\\
\hline
0 & 0 & 0\\
\hline
0 & 1 & 0\\
\hline
1 & 0 & 0\\
\hline
1 & 1 & 1\\
\hline
\end{tabular}

questa è la semplice tabella di verità di una and. E' un po' come i requisiti di un circuito: ti dice solo cosa devi fare, non come lo devi fare. Hai una funzione che ad ogni ingresso associa una uscita ma non sai come lo fa. Ci sono più modi per passare da una tabella di verità ad una implementazione circuitale.

Nel tuo caso devi prendere tutti i possibili numeri in ingresso, moltiplicarli a mano e vedere se sono sopra o sotto una certa soglia.
Viene un bell'elenco ed è teoricamente implementabile. D'altra parte due ingressi di 7 bit ciascuno fanno una tabella di verità con 2^{14} = 16384 voci: questo metodo non funziona molto bene.

Un metodo hardware può essere quello di fare effettivamente la moltiplicazione e poi valutare il risultato.
Un altro metodo, magari leggermente più furbo è osservare che la moltiplicazione tra numeri interi e positivi restituisce sicuramente un numero maggiore di entrambi. Stiamo lavorando solo con i moduli perché hai detto che sono un numero positivo e uno negativo quindi abbiamo la certezza che il risultato sia negativo e non resta che valutarne il modulo. Se ad esempio la soglia è 3 basta che un solo ingresso sia un numero maggiore di 3 per essere sicuri che l'uscita della moltiplicazione sia sopra soglia. In questo modo per tanti ingressi puoi non effettuare proprio la moltiplicazione e dare direttamente il risultato molto rapidamente. Per tutte le combinazioni (a questo punto di numero ridotto) che non hanno ingressi maggiori della soglia si ritorna o a fare la moltiplicazione e poi una comparazione, oppure ad un circuito combinatorio che ad ogni ingresso associa il risultato corretto in uscita.

Sarà che sono nato e ho studiato nell'epoca delle FPGA, ma fare un circuito del genere con singole porte logiche per me è inimmaginabile.
Davide
Ultima modifica di Foto Utentedadduni il 18 nov 2018, 13:58, modificato 1 volta in totale.
Motivazione: Correzione formula LaTeX
Avatar utente
Foto Utentedadduni
1.655 2 6 12
Expert EY
Expert EY
 
Messaggi: 1028
Iscritto il: 23 mag 2014, 16:26

0
voti

[6] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utenteblaise92 » 18 nov 2018, 16:15

Si l'idea é quella di implementarlo in VHDL e quindi in FPGA. Ti ringrazio per la dritta. Sei stato molto chiaro.
BLAISE
Avatar utente
Foto Utenteblaise92
0 2
 
Messaggi: 13
Iscritto il: 17 ott 2018, 12:03

0
voti

[7] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utentedadduni » 18 nov 2018, 16:18

se non ti interessa ottimizzare la velocità e l'area, puoi sempre cavartela facendo tutto il calcolo: moltiplicazione tra due numeri a 7 bit, comparazione. Occupi più area e sarai più lento ma in VHDL sono 4 righe e se in libreria hai qualche moltiplicatore ottimizzato per bene hai un risultato sicuramente funzionante.
Avatar utente
Foto Utentedadduni
1.655 2 6 12
Expert EY
Expert EY
 
Messaggi: 1028
Iscritto il: 23 mag 2014, 16:26

0
voti

[8] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utenteblaise92 » 18 nov 2018, 16:55

dovrei ottimizzare potenza e velocità. Sto facendo un meccanismo per prevedere le moltiplicazioni inutili in modo da evitare di calcolarle. Siccome devo implementare un MAC che implementi tante somme di prodotti, io vorrei che le moltiplicazioni dove un ingresso è nullo oppure tra due valori che producano un risultato molto piccolo le posso evitare in modo da rendere tutto più low power.
Avatar utente
Foto Utenteblaise92
0 2
 
Messaggi: 13
Iscritto il: 17 ott 2018, 12:03

0
voti

[9] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto Utenteblaise92 » 18 nov 2018, 16:58

Avevo pensato alla somma dei leading zero per ingressi entrambi positivi oppure a questo punto, considerare l’ingresso negativo nel suo modulo e lavorare sempre con i leading zero. Così le soglie sono solo potenze di 2, ma posso risparmiare tanto.
Avatar utente
Foto Utenteblaise92
0 2
 
Messaggi: 13
Iscritto il: 17 ott 2018, 12:03

0
voti

[10] Re: Previsione di un risultato di un moltiplicatore a 8 bit.

Messaggioda Foto UtenteMarcoD » 18 nov 2018, 17:05

Cosa intendi per MAC ?

Media Access Control – sottostrato del livello datalink secondo il modello ISO/OSI
Indirizzo MAC – codice assegnato in modo univoco ad ogni scheda di rete
Apple Macintosh – serie di computer di Apple Inc.
macOS – sistema operativo di Apple
MAC flooding – tecnica di attacco ad uno switch per bloccarne il corretto funzionamento
Project MAC – famoso principalmente per MACLISP, una vecchia versione del linguaggio di
programmazione LISP
Mandatory Access Control – metodo d'accesso alle informazioni basato su regole
Message authentication code – piccolo blocco di dati utilizzato per autenticare un messaggio digitale

:-)
Avatar utente
Foto UtenteMarcoD
6.249 4 8 13
Master EY
Master EY
 
Messaggi: 2462
Iscritto il: 9 lug 2015, 16:58
Località: Torino

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti