L'atelier SCC PSG MAPPER et RAM en vhdl
Fabf
Membre non connecté
Conseiller Municipal
Reprise du message précédent
Désolé TheWhipMaster mais j'ai encore quelques questionsDans le fichier psgscc.acf on voit que tu as utilisé un EPF10K30A
DEVICE = EPF10K30AQC240-3;
FLEX_CONFIGURATION_EPROM = EPC2LC20;
Est ce que le Cyclone II que j'ai repéré est ok pour pour la SCC et pour la MegaSD ?
http://www.ebay.fr/itm/261095727391?_trksid=p5197.c0.m619
Je m'y perd un peu avec les LEs et les Maximum User I/O Pins.
Autre question, les pins sont déjà assignées mais ça doit se changer facilement
Par contre ce que je comprends pas c'est pourquoi autant
Pourquoi
|pRamAdrY18 :OUTPUT_PIN = 147;
et
|pRamAdrX18 :OUTPUT_PIN = 192;
La RAM est elle externe ?
Pourquoi
|pVideoSC :OUTPUT_PIN = 61;
|pVideoSYNC :OUTPUT_PIN = 63;
|pVideoVS_n :OUTPUT_PIN = 48;
|pVideoHS_n :OUTPUT_PIN = 43;
|pVideoR0 :OUTPUT_PIN = 101;
|pVideoR1 :OUTPUT_PIN = 102;
|pVideoR2 :OUTPUT_PIN = 105;
|pVideoR3 :OUTPUT_PIN = 106;
|pVideoR4 :OUTPUT_PIN = 109;
|pVideoR5 :OUTPUT_PIN = 110;
|pVideoG0 :OUTPUT_PIN = 78;
|pVideoG1 :OUTPUT_PIN = 81;
|pVideoG2 :OUTPUT_PIN = 82;
|pVideoG3 :OUTPUT_PIN = 86;
|pVideoG4 :OUTPUT_PIN = 94;
|pVideoG5 :OUTPUT_PIN = 98;
|pVideoB0 :OUTPUT_PIN = 62;
|pVideoB1 :OUTPUT_PIN = 65;
|pVideoB2 :OUTPUT_PIN = 66;
|pVideoB3 :OUTPUT_PIN = 70;
|pVideoB4 :OUTPUT_PIN = 73;
|pVideoB5 :OUTPUT_PIN = 74;
Il y a aussi une sortie vidéo
Je m'arrête là mais c'est quand même galère au début
TheWhipMaster
Membre non connecté
Villageois
Bonjour ,
Fabf faut pas etre désolé c'est pas un bon debut pour l'annee
Oui le cyclone II est ok d'ailleurs , perso j'utilise toujours ce que j'ai sous la main donc souvent mes FPGA sont surdimensionnés mais je ne vais pas en acheter un a chaque projet
Pour les pins elles sont reassignables , pourquoi autant c'est simple c'est parce que j’ai toujours une motif en tête , du type en ce moment je pense tenter de faire le VSU-VDU (d'ou les pins video)!
La ram peut être externalise , car de la ram coute moins que le fpga
NB: j utilise des kit de dev terasic , donc j'ai aussi la mauvaise habitude de cabler la video pour les status et de laisser des pins connectees mais inutile
Et voici le vhdl ATA du soleil levant :
library ieee;
use ieee.std_logic_1164.all;
--use ieee.std_logic_arith.all;
--use ieee.std_logic_unsigned.all;
entity atamap is
port (NSLTSL: in std_logic;
NMERQ: in std_logic;
I_NRD: in std_logic;
NRESET: in std_logic;
A15: in std_logic;
A14: in std_logic;
NH_L: in std_logic;
I_NWR: in std_logic;
RTL_RST: out std_logic;
RTL_NCS: out std_logic;
O_NRD: out std_logic;
FLASH_NCS: out std_logic;
O_NWR: out std_logic;
NBUSDIR: out std_logic);
end atamap;
architecture arq1 of atamap is
signal BANK1, BANK2, RTL_ACCESS, FLASH_ACCESS: std_logic;
begin
BANK1 <= (not NSLTSL) and (not A15) and A14;
BANK2 <= (not NSLTSL) and A15 and (not A14);
RTL_ACCESS <= (BANK1 or BANK2) and (not NH_L) and (not NMERQ);
FLASH_ACCESS <= BANK1 and NH_L and (not NMERQ);
NBUSDIR <= not ((RTL_ACCESS or FLASH_ACCESS) and (not I_NRD));
RTL_NCS <= not RTL_ACCESS;
FLASH_NCS <= not FLASH_ACCESS;
RTL_RST <= not NRESET;
O_NWR <= I_NWR;
O_NRD <= I_NRD;
end arq1; Edité par TheWhipMaster Le 01/01/2013 à 11h15
Fabf faut pas etre désolé c'est pas un bon debut pour l'annee
Oui le cyclone II est ok d'ailleurs , perso j'utilise toujours ce que j'ai sous la main donc souvent mes FPGA sont surdimensionnés mais je ne vais pas en acheter un a chaque projet
Pour les pins elles sont reassignables , pourquoi autant c'est simple c'est parce que j’ai toujours une motif en tête , du type en ce moment je pense tenter de faire le VSU-VDU (d'ou les pins video)!
La ram peut être externalise , car de la ram coute moins que le fpga
NB: j utilise des kit de dev terasic , donc j'ai aussi la mauvaise habitude de cabler la video pour les status et de laisser des pins connectees mais inutile
Et voici le vhdl ATA du soleil levant :
library ieee;
use ieee.std_logic_1164.all;
--use ieee.std_logic_arith.all;
--use ieee.std_logic_unsigned.all;
entity atamap is
port (NSLTSL: in std_logic;
NMERQ: in std_logic;
I_NRD: in std_logic;
NRESET: in std_logic;
A15: in std_logic;
A14: in std_logic;
NH_L: in std_logic;
I_NWR: in std_logic;
RTL_RST: out std_logic;
RTL_NCS: out std_logic;
O_NRD: out std_logic;
FLASH_NCS: out std_logic;
O_NWR: out std_logic;
NBUSDIR: out std_logic);
end atamap;
architecture arq1 of atamap is
signal BANK1, BANK2, RTL_ACCESS, FLASH_ACCESS: std_logic;
begin
BANK1 <= (not NSLTSL) and (not A15) and A14;
BANK2 <= (not NSLTSL) and A15 and (not A14);
RTL_ACCESS <= (BANK1 or BANK2) and (not NH_L) and (not NMERQ);
FLASH_ACCESS <= BANK1 and NH_L and (not NMERQ);
NBUSDIR <= not ((RTL_ACCESS or FLASH_ACCESS) and (not I_NRD));
RTL_NCS <= not RTL_ACCESS;
FLASH_NCS <= not FLASH_ACCESS;
RTL_RST <= not NRESET;
O_NWR <= I_NWR;
O_NRD <= I_NRD;
end arq1; Edité par TheWhipMaster Le 01/01/2013 à 11h15
HB-F700F(X2),A1GT,Altera DE1 + slots , Sunrise IDE CF,FMPAC, Music Module,Slot expander 8X (X3) ,PlaySoniq, et autres
TheWhipMaster
Membre non connecté
Villageois
Fabf
Membre non connecté
Conseiller Municipal
Ah oui c'était facile en plus
Je dois pas être connecté à tous les étages ce matin
Je dois pas être connecté à tous les étages ce matin
SveN
Membre non connecté
Villageois
TheWhipMaster :
une mega SD c'est une bonne idee ca !si seulement j'avais le code pour spartan2E comme celui ci : megasd.zip
C'est pourtant dispo sur le CD livré avec l'OCM .. et le code ne semble pas avoir bougé avec Caro ou KdL ..
Pour la mise en pratique, un tuto serait le bienvenu ...
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
TheWhipMaster
Membre non connecté
Villageois
Fabf
Membre non connecté
Conseiller Municipal
Personnellement, je serais plus partant pour un tuto sur la SCC
Par contre plus je regarde les codes et plus j'ai l'impression d'avoir affaire à de la magie.
C'est vraiment pas gagné.
J'ai quand même commandé ce modèle
http://cgi.ebay.fr/Altera-CycloneII-EP2C5T144-FPGA-Mini-Development-Board-/250935949913?pt=LH_DefaultDomain_0&hash=item3a6cf2ba59
Par contre plus je regarde les codes et plus j'ai l'impression d'avoir affaire à de la magie.
C'est vraiment pas gagné.
J'ai quand même commandé ce modèle
http://cgi.ebay.fr/Altera-CycloneII-EP2C5T144-FPGA-Mini-Development-Board-/250935949913?pt=LH_DefaultDomain_0&hash=item3a6cf2ba59
Fabf
Membre non connecté
Conseiller Municipal
Je viens de faire un test de compilation de MEGASD.VHD
J'aurais pas un peu trop de pins utilisées ?
MEGASD.pdf
J'aurais pas un peu trop de pins utilisées ?
MEGASD.pdf
SveN
Membre non connecté
Villageois
Fabf :
Je viens de faire un test de compilation de MEGASD.VHD
J'aurais pas un peu trop de pins utilisées ?
J'aurais pas un peu trop de pins utilisées ?
Y'a apparemment tout ce qu'il faut ...
Y'a même sans doute moyen d'ajouter une seconde MMC !
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
Je vais faire la liste des I/O et essayer de les classer.
SveN
Membre non connecté
Villageois
C'est listé dans le fichier VHD..
entity megasd is
port(
clk21m : in std_logic;
reset : in std_logic;
clkena : in std_logic;
req : in std_logic;
ack : out std_logic;
wrt : in std_logic;
adr : in std_logic_vector(15 downto 0);
dbi : out std_logic_vector(7 downto 0);
dbo : in std_logic_vector(7 downto 0);
...
entity megasd is
port(
clk21m : in std_logic;
reset : in std_logic;
clkena : in std_logic;
req : in std_logic;
ack : out std_logic;
wrt : in std_logic;
adr : in std_logic_vector(15 downto 0);
dbi : out std_logic_vector(7 downto 0);
dbo : in std_logic_vector(7 downto 0);
...
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
Bien vu
Tu touche en VHD ?
Reste maintenant à connaitre l'utilité de tous ces pins
Tu touche en VHD ?
Reste maintenant à connaitre l'utilité de tous ces pins
SveN
Membre non connecté
Villageois
J'ai déjà fait joujou en VHDL ... mais rien de terrible.
pour les différents pins, il faut faire confirmer par TheWhip mais voici mon interprétation (tu peux également regarder le pinout des lecteurs de carte SD/MMC) :
clk21m : CLOCK 21M .. 21MHz (VDP)
reset :
clkena : mmm, CLOCK ENABLE ??
req :
ack :
wrt :
adr : Bus d'adresse, 16 bits
dbi : DATA IN, 8 bits
dbo : DATA OUT, 8 bits
ramreq : signal RAM REQ
ramwrt : signal RAM WRT
ramadr : Bus d'adresse pour la RAM, 20 bits
ramdbi : RAM DATA IN, 8 bits
ramdbo : RAM DATA OUT, 8 bits
mmcdbi : DATA IN sur le support amovible (MMC)
mmcena : MMC ENABLE ?
mmcact : MMC ACT (pour déterminer le sens du bus de données qui doit être bidirectionnel ?)
mmc_ck : MMC CLOCK
mmc_cs : MMC CHIP SELECT
mmc_di : MMC DATA IN
mmc_do : MMC DATA OUT
flashrom
epc_ck : CLOCK
epc_cs : CHIP SELECT
epc_oe : OUTPUT ENABLE
epc_di : DATA IN
epc_do : DATA OUT
pour les différents pins, il faut faire confirmer par TheWhip mais voici mon interprétation (tu peux également regarder le pinout des lecteurs de carte SD/MMC) :
clk21m : CLOCK 21M .. 21MHz (VDP)
reset :
clkena : mmm, CLOCK ENABLE ??
req :
ack :
wrt :
adr : Bus d'adresse, 16 bits
dbi : DATA IN, 8 bits
dbo : DATA OUT, 8 bits
ramreq : signal RAM REQ
ramwrt : signal RAM WRT
ramadr : Bus d'adresse pour la RAM, 20 bits
ramdbi : RAM DATA IN, 8 bits
ramdbo : RAM DATA OUT, 8 bits
mmcdbi : DATA IN sur le support amovible (MMC)
mmcena : MMC ENABLE ?
mmcact : MMC ACT (pour déterminer le sens du bus de données qui doit être bidirectionnel ?)
mmc_ck : MMC CLOCK
mmc_cs : MMC CHIP SELECT
mmc_di : MMC DATA IN
mmc_do : MMC DATA OUT
flashrom
epc_ck : CLOCK
epc_cs : CHIP SELECT
epc_oe : OUTPUT ENABLE
epc_di : DATA IN
epc_do : DATA OUT
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
SveN
Membre non connecté
Villageois
Pour moi, MegaSD = FGPA + flashrom. Pas de ram/SRAM embarquée .. ça évite d'avoir une "batterie" dans la cartouche.
Les pins relatives à la RAM sont sans doute celles de la RAM du MSX, et sont sans doute communes à celles que l'on trouve dans le code VHDL du mapper.
Maintenant .. faut attendre l'expertise de TheWhip.
Les pins relatives à la RAM sont sans doute celles de la RAM du MSX, et sont sans doute communes à celles que l'on trouve dans le code VHDL du mapper.
Maintenant .. faut attendre l'expertise de TheWhip.
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie