Blast from the past

C

CTSportPilot

I came across an ADF (Altera Desgn Format) file from an Altera EPLD.
Does anyone out there know of a syntax primer on this dead HDL
format? For those playing at home, this is an HDL from Altera that
came with the A+PLUS software. Yes, I can convert it to more modern
formats, but first I need to understand it.

TIA!
 
J

jtw

It's probably been over 20 years since I've used Aplus--was it 1984, or
1985?

If you can post a snippet of the code, perhaps someone can translate?

JTW
 
C

CTSportPilot

I saw this, but it doesn't tell how to understand the code. There's
all sorst of strange constructs like:

OUTPUT = NORF(OUTPUT.d, SYSCLK, RESET, GND)

Which I assume is a DFF with a preset and clear, but I can't be sure
unless I have documentation.

There are other constructs like:
X = RORF()
X = COCF()
X = RONF()
X = CONF()

There are also logic equations

X.d = !Y & Z
# Q

Which I assume is X.d = ((not Y) and Z) or Q algebraically.
 
J

John_H

I saw this, but it doesn't tell how to understand the code.  There's
all sorst of strange constructs like:

OUTPUT = NORF(OUTPUT.d, SYSCLK, RESET, GND)

Which I assume is a DFF with a preset and clear, but I can't be sure
unless I have documentation.

There are other constructs like:
X = RORF()
X = COCF()
X = RONF()
X = CONF()

There are also logic equations

X.d = !Y & Z
       # Q

Which I assume is X.d = ((not Y) and Z) or Q algebraically.





- Show quoted text -

The macrocells in the Altera CPLDs are registers with or without
feedback and even with or without a direct output. I believe these
primitives are for the output select from the logic and the register.

While the NORF() with the list is similar to ordered lists in other
languages, you'd need a list of primitives to understand precisely
what each entry is. In the case of the NORF, by inspection the first
entry is the output connected to the D input of a declared register
such as a DFFE (D flip-flop with enable). The ports on declared items
are referred to by NAME.port and here, again, the primitive
definitions tell you precise syntax.

I think the language allows both forms - declared elements as well as
the ordered-list function form - such that the NORF could have been
declared in a primitive list and the connections referred to as
NAME.o, NAME.clk, NAME.rst and NAME.clr.

I cut my teeth on AHDL in 1988 and haven't used it in well over a
decade.

If you have other specifics, air them. If I can't recall, I have
another engineer here that declares AHDL as one of his competencies.

- John_H (from comp.arch.fpga)
 
K

KJ

I saw this, but it doesn't tell how to understand the code.  There's
all sorst of strange constructs like:

OUTPUT = NORF(OUTPUT.d, SYSCLK, RESET, GND)

Which I assume is a DFF with a preset and clear, but I can't be sure
unless I have documentation.

There are other constructs like:
X = RORF()
X = COCF()
X = RONF()
X = CONF()

There are also logic equations

X.d = !Y & Z
       # Q

Which I assume is X.d = ((not Y) and Z) or Q algebraically.





- Show quoted text -

Googling for "Altera+NORF"
http://www.google.com/search?hl=en&q=Altera+NORF

The first link came up the following PDF file from Texas A&M which
might give you some more clues.

http://courses.cs.tamu.edu/rgutier/ceg453_s00/altera_handout.pdf

Page 14 says that NORF=No output registered feedback,
CONF=Combinatorial output, no feedback. Page 17 lists RONF, nothing
on COCF, but based on what it has I would expect it to be a
combinatorial output with combinatorial feedback.

The next few Google link are to
"The Church Heraldry of Norfolk: A Description of All Coats of Arms"
"JSTOR: Violence and the Exercise of Feudal Guardianship"
"Sir Robert Lovett of Liscombe"

So I think the pickings are rather slim on this niche. Happy
sleuthing.

Kevin Jennings
 
C

CTSportPilot

That's exactly what I was looking for, thanks! This at least gets me
most of the way there.

I tried googling "norf", but didn't try the combination with Altera.
Thanks!
 
J

Jim Granville

CTSportPilot said:
I saw this, but it doesn't tell how to understand the code. There's
all sorst of strange constructs like:

OUTPUT = NORF(OUTPUT.d, SYSCLK, RESET, GND)

Which I assume is a DFF with a preset and clear, but I can't be sure
unless I have documentation.

There are other constructs like:
X = RORF()
X = COCF()
X = RONF()
X = CONF()

There are also logic equations

X.d = !Y & Z
# Q

Which I assume is X.d = ((not Y) and Z) or Q algebraically.

What is the device, and do you have any fitter map/report files,
or only the source code ?.

The link given earlier uses MAX+II as a stepping stone, to convert
ADF to tdo to TDF

Boolean Eqn porting should be relatively easy, often that
support is still in the tool flows.
Device specific configs would need some work.

-jg
 
C

CTSportPilot

I finally recieved a reference manual from Altera about the syntax of
ADF. (Although it lacks truth tables, which forces me to make some
assumptions) If any one needs a copy of this, let me know.

One thing I saw was that the T flip flops have inputs. Why?!?
 
C

CTSportPilot

I finally recieved a reference manual from Altera about the syntax of
ADF.  (Although it lacks truth tables, which forces me to make some
assumptions)  If any one needs a copy of this, you can contact me.

One thing I saw was that the T flip flops have inputs.  Why?!?

Sorry about the reply to my own message. I should have known the T
input wsas the toggle control. Bleck!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top