L'atelier SCC PSG MAPPER et RAM en vhdl

Reprise du message précédent
Désolé TheWhipMaster mais j'ai encore quelques questions
Dans 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


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

Bon alors je vais le commander et on verra sur le tas pour les "réglages"
Merci pour tes conseils
PS: au fait c'est quoi le ATA du soleil levant
Edité par
Fabf
Le 01/01/2013 à 11h11
Merci pour tes conseils

PS: au fait c'est quoi le ATA du soleil levant




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


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 ...


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

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

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 ...

Je vais faire la liste des I/O et essayer de les classer.

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 ...

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


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 ...


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