Newsgroup: it.hobby.elettronica.digitale
Titolo: SW cercasi

Per la progettazione e simulazione di PLD, PLA, FPGA.
Non deve lavorare con qualunque dispositivo, va bene una qualsiasi 
famiglia e/o famiglie di dispositivi logici.
Deve essere intuitivo nell'uso.
Non deve avere una piattaforma molto complessa.
Al momento sto scaricando Quartus II lite da Altera, non so nemmeno se 
soddisfa i miei requisiti.
 
..

 soddisfa i miei requisiti.
 
Che non ho installato perché richiede 13 gigabyte di spazio sul PC.
 
..


Ma hai una demoboard con FPGA?
Io, durante le prime prove mi arrangiavo con FPGA recuperati e ancora 
montati su schede in disuso,
ma è stato subito evidente che avere una demoboard con periferiche(es 
SDRSM,Flash ecc) e dei bei connettori con dimensioni umane fa 
risparmiare un sacco di tempo.
 
 
Per il resto io sono rimasto a 7 anni fa,e gli ambienti erano già belli
grandi,ma non così tanto

 SDRSM,Flash ecc)
 
SDRAM,scusa
intendo dire che quando hai già dei componenti fine pitch con varie 
decine di pin già collegati è una bella cosa
 

 ..
 


 
VHDL lo preferirei, ma anche Verilog va bene.
Quello che devo fare è prendere pratica sulla progettazione e 
simulazione dei circuiti digitali tramite linguaggi descrittivi.
Ho installato GHDL su una macchina windows, ma non riesco a far andare 
nemmeno Hello World!
Mi pianta con questo errore
 
*command-line*: bad character in identifier
 
Eppure il listato è quello del manuale, ho provato a salvare il file in 
ansi, in unicode, in utf-8, pensando sia un errore di codifica, ma nulla.
 
   --  Hello world program.
      use std.textio.all; --  Imports the standard textio package.
 
      --  Defines a design entity, without any ports.
      entity hello_world is
      end hello_world;
 
      architecture behaviour of hello_world is
      begin
         process
            variable l : line;
         begin
            write (l, String'("Hello world!"));
            writeline (output, l);
            wait;
         end process;
      end behaviour;
 
 
 

 risparmiare un sacco di tempo.
 
per la demoboard penso di realizzare uno zoccolo con un pcb e adagiarlo 
a una bella breadboard, ho visto qualcosa del genere su youtube e appare 
molto pratica.
 
..
 
 
 


zoccolo?breadboard?vanno bene per implementare una seriale ,o fare 
lampeggiare un LED tramite una FPGA,e se lo scopo è proprio didattico di 
base forse andrà anche bene
 
Tra le caratteristiche delle FPGA ci sono però la velocità,e il 
parallelismo.
Una delle cose che in certi progetti è critica,è la relazione temporale 
tra segnali.
c'è gente che ha problemi anche con segnali bilanciati e piste a 
impedenza controllata,per cui farla con la breadboard è come imparare a 
guidare una formula uno su un circuito nel quale puoi andare al massimo 
a 20 all'ora.IMHO** meglio comprare una demo board
 
 
**Intervengo Ma Ho Opinabilità
 
 
 


 
Lo scopo è quello.
 
..


 
prova ad aggiungere i "pezzi" del sorgente uno alla volta
 
N.B.: il VHDL e' una bestia un po' strana ( almeno rispetto ai linguaggi 
di programmazione convenzionali ) ha una sintassi un pelino piu' rigida 
e tende ad avere una certa interdipendenza tra i blocchi, bisogna 
conoscerlo un po' per potersi districare


 
addendum, ho fatto un po' di prove sotto W7
 
1) installato GHDL
2) creata directory per i sorgenti
3) usando notepad2 ( il mio editor di testo di default )
3a) ho creato hello.vhdl copia/incollando il TUO sorgente
3b) unica variazione: ho rimosso eventuali spazi in eccesso in testa 
alle righe
4) prompt di DOS nella directory dei sorgenti
5) ho seguito PEDISSEQUAMENTE i comandi del tutorial:
5a) ghdl -a hello.vhdl
5b) ghdl -e hello_world
5c) ghdl -r hello_world
 
funziona!
 


tieni comunque  presente che con meno di 30 euro compri scheda e forse 
anche programmatore
 
http://www.ebay.it/itm/Altera-FPGA-CPLD-programmer-USB-Blaster-
 
 
compatible-LC-MAXII-EPM240-Dev-Board-/281622266466?var=&
 
hash=item4191fec262:m:mXVsE_ZdWJTi2wnZnzh-cvw
 
e poi dimmi,la tua FPGA su breadboard,da chi carica il programma?
Da PC ogni volta tramite JTAG?Poi non ho capito come faresti a 
disaccoppiarne le alimentazioni e a dargli un decente clock.
 
Perchè non conosco lo stato dell'arte ora,ma una volta ti serviva una 
memoria seriale o parallela non comunissima,perchè le FPGA non 
riservavano silicio per memorizzare la configurazione
(le CPLD si)
Mi fermo qui ,ma secondo me se è vero che il tempo risparmiato è 
denaro,per quanto poco sia pagato,
Ti conviene valutare l'acquisto di un qualcosa già pronto


ti ringrazio per tutte le informazioni, al momento però mi serve solo un 
sistema di sviluppo con cui far pratica con un linguaggio descrittivo 
che non sia pesante, poi, dopo che saprò con cosa sto trattando passo a 
giocare con qualcosa di semplice e poi, solo poi, mi specializzo su 
qualche famiglia di dispositivi.
Prendere ora una scheda su cui ci sta una FPGA che mi costringe ad 
attenermi alla metodologia progettuale del costruttore lo trovo 
limitativo in questa fase.
 
..


ora ci riprovo, mi sa che è un problema di permessi, sospetto che non 
trovi std.textio.all o qualche libreria di default.
Intanto ho trovato questo sul web
 
http://www.edaplayground.com/home
 
 
..

 e testarli in un simulatore
 
E come strato superiore esiste MyHDL che usa Python per la descrizione 
e poi traduce in VHDL o Verilog.
 
Caveat emptor, non l'ho mai provato, so solo che esiste. Anzi se 
qualcuno lo prova magari scrive sul ng le proprie impressioni.
Consiglio di leggere:
 
 
http://www.myhdl.org/start/why.html
 
 
http://www.myhdl.org/start/whatitisnot.html
 
 
-- 
Andrea
 


se vai qui 
http://www.edaplayground.com/home
 lo puoi testare senza 
installarlo, insieme a sw per la simulazione e la sintesi.
 
..

 installarlo, insieme a sw per la simulazione e la sintesi.
 
Bello, grazie di averlo evidenziato.
Avevo visto il link nella discussione ma non avevo notato che nei menu 
a discesa si potesse scegliere il linguaggio.
 
-- 
Andrea
 

 Per la progettazione e simulazione di PLD, PLA, FPGA.
 
Ci sono "quasi".
Ho beccato logisim evolution, che è un fork di logisim (progetto 
abbandonato).
Qui c'è un demo di quello che può fare.
https://www.youtube.com/watch?v=YCBa1NH4ORE
 
Questo invece è il sito ufficiale
 
https://github.com/reds-heig/logisim-evolution
 
 
Poiché nessuno inventa niente ex novo sono andato a sbirciare sui file 
che il SW produce, in XML, e ci sta proprio il codice VHDL che viene 
generato dall'editor grafico, un po' come fa LTspice che genera il 
codice SPICE che con pochi aggiustamenti può essere usato da qualsiasi 
motore SPICE.
 
Non mi resta che mettere al lavoro qualche genietto dei miei che mi 
realizzi un parser che estragga il VHDL dal flusso dei dati e la cosa è 
fatta (più o meno).
 
Questo ad esempio è il codice di un semplice NOT prelevato da un file di 
Logisim Evolution
 
library ieee;
   use ieee.std_logic_1164.all;
   --use ieee.numeric_std.all;
 
entity VHDL_Component is
   port(
 
------------------------------------------------------------------------------
   --Insert input ports below
     horloge_i  : in  std_logic;                    -- input bit example
     val_i      : in  std_logic_vector(3 downto 0); -- input vector example
 
------------------------------------------------------------------------------
   --Insert output ports below
     max_o      : out std_logic;                    -- output bit example
     cpt_o      : out std_logic_Vector(3 downto 0)  -- output vector example
     );
end VHDL_Component;
 
--------------------------------------------------------------------------------
--Complete your VHDL description below
architecture type_architecture of VHDL_Component is
 
 
begin
 
 
end type_architecture;
 
use ieee.std_logic_1164.all;
 
entity TCL_Generic is
   port(
     --Insert input ports below
     horloge_i  : in  std_logic;                    -- input bit example
     val_i      : in  std_logic_vector(3 downto 0); -- input vector example
 
	  --Insert output ports below
     max_o      : out std_logic;                    -- output bit example
     cpt_o      : out std_logic_Vector(3 downto 0)  -- output vector example
   );
end TCL_Generic;
 

 Logisim Evolution
 
no, non è così... devo indagare di più, quella è un'entità VHDL che può 
essere richiamata da Logisim.
 
..
 

 essere richiamata da Logisim.
 
Pur non essendo avvezzo di VHDL, mi sembrava mancasse qualcosa in grado di definire la funzione.
Visto che seguo i tuoi stessi propositi, per il momento mi sono procurato questo:
 
http://www.ebay.it/itm/391286280121?_trksid=p2057872.m2749.l2648&ssPageName=STRK%3AMEBIDX%3AIT
 
 
Appena me lo consegneranno vi farò sapere, seppur limitatamente a qualche vecchia GAL che mi ritrovo nei cassetti.
 
Piccio.

 Pur non essendo avvezzo di VHDL, mi sembrava mancasse qualcosa in grado di definire la funzione.
 
infatti, quello è il guscio vuoto di entità VDHL che si possono definire 
e integrare nel progetto.
 
La parte di XML che definisce il circuito è grosso modo questa.
 
   <circuit name="main">
     <a name="circuit" val="main"/>
     <wire from="(150,100)" to="(200,100)"/>
     <wire from="(300,120)" to="(340,120)"/>
     <wire from="(150,140)" to="(250,140)"/>
     <wire from="(230,100)" to="(250,100)"/>
     <wire from="(370,120)" to="(440,120)"/>
     <comp lib="1" loc="(370,120)" name="NOT Gate"/>
     <comp lib="0" loc="(440,120)" name="Pin">
     <comp lib="1" loc="(230,100)" name="NOT Gate"/>
     <comp lib="1" loc="(300,120)" name="AND Gate"/>
     <comp lib="0" loc="(150,140)" name="Pin"/>
     <comp lib="0" loc="(150,100)" name="Pin">
     </comp>
   </circuit>
 
Dove vengono indicate una AND, due NOT, tre PIN e 5 WIRE che li collegano.
Partendo da questi dati non è impossibile sviluppare un SW che generi 
automaticamente il VHDL o qualsiasi altro linguaggio.
 
..
 
 

Il giorno venerdì 29 gennaio 2016 13:39:27 UTC, Piccio ha scritto:
 
-


 
 
-- 
Andrea
 


grazie, lo testo.
 
..
 


è ancora un pargoletto, deve crescere.
Cmq promette bene.
 
..