MSX Village forum

L'atelier SCC PSG MAPPER et RAM en vhdl

Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 01/01/2013 à 10h36

Reprise du message précédent

Désolé TheWhipMaster mais j'ai encore quelques questions :oups

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 :hum

Je m'arrête là mais c'est quand même galère au début :moue
TheWhipMaster Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 27/11/2011 à 09h13

Messages: 579

Le 01/01/2013 à 11h00
Bonjour ,
Fabf faut pas etre désolé c'est pas un bon debut pour l'annee :p
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
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 01/01/2013 à 11h10
Bon alors je vais le commander et on verra sur le tas pour les "réglages"

Merci pour tes conseils :top

PS: au fait c'est quoi le ATA du soleil levant :hum :oups Edité par Fabf Le 01/01/2013 à 11h11
TheWhipMaster Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 27/11/2011 à 09h13

Messages: 579

Le 01/01/2013 à 11h17
Soleil levant en anglais c'est sun rise , non ? mais y a un p'tit probleme de droit a la distribution du code :oups


HB-F700F(X2),A1GT,Altera DE1 + slots , Sunrise IDE CF,FMPAC, Music Module,Slot expander 8X (X3) ,PlaySoniq, et autres
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 01/01/2013 à 11h25
Ah oui c'était facile en plus :oups
Je dois pas être connecté à tous les étages ce matin :lol
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 01/01/2013 à 16h44
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

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 27/11/2011 à 09h13

Messages: 579

Le 01/01/2013 à 18h04
Le code n'a pas bougé depuis la version sur port joystick ... Pour le tuto je vois ca des que j'en ai fini avec mes papiers pour le boulot


HB-F700F(X2),A1GT,Altera DE1 + slots , Sunrise IDE CF,FMPAC, Music Module,Slot expander 8X (X3) ,PlaySoniq, et autres
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 01/01/2013 à 18h23
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é. :moue

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

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/01/2013 à 22h27
Je viens de faire un test de compilation de MEGASD.VHD
J'aurais pas un peu trop de pins utilisées ?
MEGASD.pdf
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 04/01/2013 à 10h33
Fabf :
Je viens de faire un test de compilation de MEGASD.VHD

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

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 04/01/2013 à 10h41
Je vais faire la liste des I/O et essayer de les classer.
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 04/01/2013 à 11h13
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);
...


Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 04/01/2013 à 11h59
Bien vu :top
Tu touche en VHD ?

Reste maintenant à connaitre l'utilité de tous ces pins :gne
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 04/01/2013 à 12h33
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


Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 04/01/2013 à 12h56
Donc il y a aussi de la RAM :)
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 04/01/2013 à 13h23
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.


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