|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
[vhdl] senza utilizzo di librerie
ciao a tutti, vorrei sapere come si compila un semplice circuito in vhdl senza l'utilizzo di alcuna libreria.
es: (A'+B)(B'+C')(A+C+D') grazie. Ultima modifica di Spider550 : 12-02-2009 alle 16:55. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
puoi spiegarti meglio?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
penso che si possa utilizzare solo la libreria ieee. In teroria senza libreria dovrei fare l'entity di ogni operatore (and or e not in questo caso) e del circuito in generale...però non so come descriverlo.
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
nel caso behavioural non ti dovrebbe servire includere le porte logiche AND e OR definite nella libreria IEEE dato che puoi direttamente usare gli operatori del vhdl and e or validi tra bit, boolean e bit_vector
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
per quanto riguarda l'entity e lo structural cosa dovrei fare?
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
Quote:
nel caso structural devi definire dei componenti che implementino ciascuno le operazioni base che devi effettuare tra i segnali del circuito (in questo caso and e or): quindi semplicemente devi definire una and e una or e poi nell'architettura del circuito complessivo effettuare il portmap dei segnali sui vari component che utilizzi |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
Quote:
use ieee.std_logic_1164.all; entity circ is port (a,b,c,d : in std_logic; y: out std_logic); end entity; entity and2 is port(in1,in2: in std_logic; out1:out std_logic); end entity; architecture dataflow of and2 is signal n: std_logic; begin n<= in1 and in2; end dataflow; entity and3 is port( in1,in2,in2: in std_logic; out1 : out std_logic); end entity; architecture dataflow of and3 is e così via anche per gli or..... poi faccio lo structural di tutto il circuito e il behavioral.... e giusto o sbaglio qualcosa?? |
|
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
Quote:
ma non avevi detto che non volevi usare le librerie ieee? in tal caso usa tipi primitivi del vhdl come i boolean Ultima modifica di lor84 : 12-02-2009 alle 19:05. |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
Quote:
non usando la libreria ieee cosa dovrei fare?? potresti farmi un esempio please?
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
scusami l'and2 neanche c'è nel circuito dovevo fare or2 or3 e and3 e assegnare y all'and3.
|
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
Quote:
per non usare la ieee, come ti ho già detto, basta usare tipi primitivi del vhdl (bit, boolean) anzichè std_logic |
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
il problema è che non so come si fa...potresti farmi un piccolissimo esempio?
|
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
Quote:
entity circ is port (a,b,c,d : in bit; y: out bit); end entity; entity and3 is port(in1,in2: in bit; y:out bit); end entity; architecture dataflow of and3 is begin y<= in1 and in2; end dataflow; entity or3 is port( in1,in2,in2: in bit; out1 : out bit); end entity; architecture dataflow of or3 is begin out1<= in1 or in2 or in3; end dataflow; entity or2 is port( in1,in2: in bit; out1: out bit); end entity; architecture dataflow of or2 is begin out1<= in1 or in2; end dataflow; architecture structural of circ is poi richiamo di nuovo tutti i componenti (o no?) e poi faccio i signal signal n: bit_vector ( o to 2) poi il port map. giusto? Ultima modifica di Spider550 : 12-02-2009 alle 20:01. |
|
|
|
|
|
|
#18 | |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
Quote:
|
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: palermo
Messaggi: 641
|
Quote:
per quanto riguarda il behavioral come procedo? |
|
|
|
|
|
|
#20 | |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
Quote:
per il behavioural scrivi semplicemente l'operazione che vuoi che il circuito implementi tramite gli operatori base del vhdl (and e or, validi per i bit) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:04.




















