www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2011/11/29/01:09:09

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=date:from:to:subject:message-id:in-reply-to:references:x-mailer
:mime-version:content-type:content-transfer-encoding;
bh=AXTWToHJCQvKqsoa3ilIFSQW+kNrHCDwnZMDoOkgMVQ=;
b=viVL3Z3jBWHwyuVFwl6jGd03BDtd71Pc6PqpUK5OZfV6HnwLXuunPttsd4ANgnNAsm
60aU5iNiIf5YTsGVupmG/PteTVr7DmGje5RjxKMCP9OldfdBLgDuvlQOP2cwkOWONaTN
Fx1MYOb8Z9b9Nr52qOdzKx5IoPeMzndgaMJmk=
Date: Tue, 29 Nov 2011 00:39:37 -0500
From: Vanessa Ezekowitz <vanessaezekowitz AT gmail DOT com>
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] Modern GAL/PAL design with gEDA?
Message-ID: <20111129003937.7d098958@rainbird>
In-Reply-To: <4ED432D0.8000303@ecosensory.com>
References: <20111117204524 DOT 10e586f5 AT rainbird>
<4EC5CBEE DOT 5060904 AT optonline DOT net>
<CAN0Jx-84K3n+g+ZH29wjzkuusBa=Bk_F=SaY+Z=fdm-JTf=HKQ AT mail DOT gmail DOT com>
<20111120162218 DOT 555bc069 AT rainbird>
<4ECA9BF9 DOT 9000601 AT ecosensory DOT com>
<20111128150702 DOT 2c75a231 AT rainbird>
<4ED432D0 DOT 8000303 AT ecosensory DOT com>
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.1; i486-pc-linux-gnu)
Mime-Version: 1.0
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id pAT68oNc022610
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, 28 Nov 2011 19:18:08 -0600
John Griessen <john AT ecosensory DOT com> wrote:

> On 11/28/2011 02:07 PM, Vanessa Ezekowitz wrote:
> > after a week of wrangling with this, I finally turned out a working
> > design - or at least, it simulates (iverilog + gtkwave)*and*  synthesizes
> > properly
> 
> Hey, you did it!
> Looks like dotclock is a sequence you create after being triggered so as to
> put out some stored values, right? and that sequence is done with #delay
> statements. (it's been 20 years since I was doing this daily to make iic
> ports, serial ports, etc...)
> 
> John

Actually, you're pretty close to what I was originally trying to do.  The RAM controller chip used in C64 (of course) RAM Expansion Modules only produces enough signals during refresh to handle the 256k x 1 RAMs the use, and in RAS-Only refresh mode at that.

So I had to detect those RAS-Only refresh signals and replace them with CAS-before-RAS pulses.  I originally tried to use a state machine driven by the dot clock, until I realized the 22v10's flip-flops are all clocked by the same line...  so a state machine was out.

I worked out that, assuming my testbench model is accurate, I could use the dot clock to directly drive the RAS output line as long as I pulled all of the CAS lines low first, and as long as I provided it in inverted form.  Since the 22v10 can't invert the clock line, I had to loop it through the chip and invert it that way.

The truly sad thing is the test bench is more complicated than the code it drives. :-)

-- 
"There are some things in life worth obsessing over.  Most
things aren't, and when you learn that, life improves."
http://digitalaudioconcepts.com
Vanessa Ezekowitz <vanessaezekowitz AT gmail DOT com>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019