Progetto reti logiche: EPROM

Laikius91
Salve a tutti, ho bisogno di aiuto e chiarimenti per svolgere un progetto di reti logiche.
Cerco di spiegarmi al meglio: il sistema realizzato deve calcolare la velocità in gradi/msec con cui delle moli attraversano un certo percorso.
Si sa che una mole impiega al massimo 1 secondo per attraversare tale percorso e, avendo a disposizione un segnale di clock con frequenza 1000 Hz, è possibile utilizzare un counter x 1000 per ottenere i millisecondi.
A questo punto entra in gioco una EPROM: in essa sono memorizzati 1000 valori, da 360/1 a 360/1000; una volta che la mola ha attraversato il percorso (per semplicità ipotizziamo con una sola rotazione) si prende il valore del counter x 1000 (ossia N millisecondi) con cui si seleziona l' N-esimo indirizzo della EPROM, nel quale sarà salvato il valore 360/N. Tale valore è proprio la velocità in gradi/msec richiesta.
Fin qui tutto bene, a livello teorico.... ma io devo realizzare il progetto a livello pratico! Questa soluzione è quella richiesta dal professore e io devo riuscire a realizzarla in Xilinx con schematico (non so se conoscete il software), il che significa che tutto deve quadrare poichè nel progetto devono essere incluse anche le simulazioni!
I problemi che non so come affrontare sono:
1) Il professore ha parlato di utilizzare una EPROM 1024x8: sui 1024 indirizzi concordo (deve contenere 1000 dati), ma sulle 8 uscite no! I valori vanno da 360/1 a 360/1000, quindi il maggiore è 360, che non è rappresentabile con 8 bit!
2) come accidenti dovrei fare per inserire i valori nella EPROM, che sono numeri decimali?!
In ogni caso avevo chiesto chiarimenti al professore che mi ha detto di "considerare la EPROM come una black-box", intendendo, se ho capito bene, di realizzare come componente a parte che semplicemente faccia quello che deve fare.
Quello che deve fare è: ricevere in ingresso N millisecondi e in uscita sparare 360/N.... come accidenti dovrei fare una cosa simile? :roll: :shock: :?

Qualsiasi aiuto è davvero ben accetto, grazie in anticipo!

Risposte
Quinzio
1) Il professore ha parlato di utilizzare una EPROM 1024x8: sui 1024 indirizzi concordo (deve contenere 1000 dati), ma sulle 8 uscite no! I valori vanno da 360/1 a 360/1000, quindi il maggiore è 360, che non è rappresentabile con 8 bit!


Se è per questo anche 360/1000 ha qualche problema ad essere rappresentato con un intero. E... se è per questo anche i numeri più piccoli vengono troncati impietosamente.
Mi sembra un esercizio piuttosto del "cavolo".
Cioè se il problema e fare sputare fuori dei numeri da un Eprom, quello si fa senza problemi. Se invece bisogna dare un senso a questi numeri allora il problema va spiegato meglio, vanno date specifiche più dettagliate.
Xilinx so cos'è ma non ci ho mai fatto nulla. Immagino che dal loro sito ti scarichi un bel simulatore di FPGA o PAL o CPLD o quello che devi usare, quindi disegni uno schema o fai un programmino per gestire la Eprom e quanto ti serve per misurare quel tempo delle moli.
Insomma, dove stanno le difficolta' ? Nella Eprom, nel linguaggio XILINX, nella misura di queste moli... ?

Laikius91
Le difficoltà le hai messe perfettamente in luce tu: utilizzare una EPROM per ottenere dei valori "decimali" (360/N) :shock:
In ogni caso ho già ultimato il progetto... ho utilizzato un dispositivo ROM che all'atto della creazione può essere riempito di dati caricandoli da un file opportunamente scritto a priori... Ovviamente nel file ho inserito dei dati casuali, giusto per avere un range di numeri abbastanza ampio e poter simulare il comportamento dell'intera rete... Speriamo che vada bene!

itpareid
sento tanto odore di Neri...

itpareid
il testo comunque non è chiaro: prima dici che nella eprom son già memorizzati dei valori, poi che ci devi scrivere sopra dei dati, insomma non si capisce se dalla eprom devi leggere o devi scrivere...
EDIT: forse adesso ho capito...secondo me dicendoti di considerare la eprom una black box ti dice di non preoccuparti di che valori ci sono effettivamente dentro, ma di considerarla come un blocco che ha come ingresso N e come uscita 360/N, codificati con un certo numero di bit

Laikius91
Grande fiuto itpareid.......

In ogni caso dalla eprom devo si leggere dei dati ma tali dati ovviamente dovranno essere stati scritti in qualche modo...
A livello teorico è possibile fregarsene di come ció sia stato fatto ma poi quando si va a simulare il tutto?
Come già detto, ho risolto memorizzando dei valori casuali utili alla simulazione dell'intero progetto...

itpareid
conoscendo la "bestia", quando parla di black box non gli interessa tanto quello che c'è dentro, ma gli ingressi e le uscite. Il fatto di mettere valori casuali non dovrebbe essere importante al fine del progetto e quindi andare bene, ma con quel soggetto il condizionale è sempre d'obbligo...secondo me a lui comunque interessano soprattutto i collegamenti ed i segnali di controllo
curiosità: Bologna o Cesena?

Laikius91
Grazie per il conforto itpareid :)
Bologna comunque ;)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.