Sida 2 av 2
Postat: 28 mars 2005, 00:32:44
av babbage
Som Cyr så klokt säger. Att om man har en liten CPLD så går det en del register (och IO-pinnar) om man ska skriva alla 32 bitar samtidigt till ett 32kX32 minne. Om man har en lite större FPGA är det inget problem med register men kanske med pinnar. Man kan även fundera på användningsområdet och vilka övriga funktioner man vill ha.
Det kan vara trevligt att kunna ha ett trigg-vilkor som avgör när man börjar spela in data.
Om du inte har tänkt att använda den som ett oscilloskop utan mera som en logikare. Du skrev att du ville spela in långa sekvenser på seriella interface. Då kan man enkelt komprimera datat till att bara vara '1' eller '0'. Med samma minne kan du då spela in åtta gånger så länge. Man läser in 8 bitar från DA-omvandlaren, om värdet är större än ett gränsvärde blir det en etta, annars en nolla. (man kan kanske ha två moder, oscilloskop och logikare)
Postat: 28 mars 2005, 01:02:53
av zwitter
Men ett 32kx32 minne så blir det 15 adresspinnar och 32 datapinnar. Antar att man fortfarande måste använda de 32 datapinnarna kopplade till varsin I/O pinne på CPLD:n även att man skriver in varje byte för sig.
Tittade även på asynkrona minnen. Där verkade det vanligare med 128kx8 vilket ger 17 adresspinnar och 8 datapinnar. Inte lika farligt. Fast det är väl inte just minnesdelen som är det svåra.
Att bara lagra '1' och '0' för håg och låg var en tidig idé jag även hade. Känds bara lite "smal" om man väl fick allt att funka.
Postat: 28 mars 2005, 01:13:46
av babbage
Nej, det Cyr beskriver är en databuss om 8-bitar. Du skriver fyra gånger till samma adress men enablar olika delar byte-vis av minnet. De delar som inte är enablade förblir oförändrade trots att det kan vara annat data på data-bussen än det som lagras i minnet.
Man kan även tänka sig andra mer avancerade metoder för komprimering, men för vissa av dem har man kanske passerat vad som går att göra i en CPLD och är tvungen att gå över till en FPGA.
Postat: 28 mars 2005, 01:13:50
av cyr
Om det nu är så att byte-enable även styr output-enable (lite osäker här) så behöver du inte koppla alla 32 databitarna till CPLD. Du kopplar ihop bit 0, 8, 16 och 24 osv så du får en enda 8bits buss. Du kan koppla ADCn direkt till denna buss också om den har en output-enable. CPLDn behöver du inte ens koppla till data-bitarna nödvändigtvis, inte om du inte vill lägga in någon trig-funktion eller så.
För övrigt så brukar det finnas 16bits versioner av de flesta synkrona SRAM (men inte 8).
Postat: 28 mars 2005, 12:15:11
av zwitter
Ah...det är såklart en bra idé. Att koppla ihop 0, 8, 16 osv. Minnet jag tittade på hade så man kunde lägga in byte för byte.
Signalerna vill jag nog att de ska gå igenom CPLD:n för att kunna styra triggningen. Men nu tror jag att jag har fått svar på alla mina frågor. Tack cyr & babbage
Postat: 31 mars 2005, 19:10:59
av MICKE
Vad skoj att vi alla har ung samma projekt på gång! Jag har dock valt
en Spartan-3 XC3S400, 2 st AD9283 100MSPS A/D, 2 st KM48S8030C 2M x 8bit x 4 banker SDRAM.
Postat: 31 mars 2005, 19:50:52
av cyr
För min del är det Cyclone EP1C12 och 36bit/166MHz synkront SRAM.
Samt fyra separata kort för insamplingen (i 100MSPS).
Postat: 31 mars 2005, 20:01:01
av MICKE
Cyr. Jag vet, jag har kikat en del på din hemsida.
Jag antar att du har en del besökare från edboard's DSO forum också...
Undrar...
Postat: 14 april 2005, 16:08:24
av bengt-re
Om CYR´s processor är på mer än 5kW...... Såg en aning överdimetionerat ut kylningen..

Men lär ju aldrig bli varmt iaf..