MAX II UFM data specification and programming

Is there an easy way to convert a plain ascii file of hex numbers etc. into a SOF format or similar in order to program the UFM of the MAX II?

Petter

-- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?

Reply to
Petter Gustad
Loading thread data ...

SOF and POF are closed secret formats :( you should be able to initialize the UFM from either HEX or MIF both are simple ASCII but you need to write a small converter yourself from yourself in most cases that would be some 20 to 30 lines of PERL code

antti

"Petter Gustad" schrieb im Newsbeitrag news: snipped-for-privacy@filestore.home.gustad.com...

Reply to
Antti Lukats

I think plain hex-ascii to MIF format is so obvious that you don't need anything more that a few seconds of your text editor...

See this example :

------------------------------- DEPTH = 16; WIDTH = 16;

CONTENT BEGIN

0: 3BAA 95AD 3BAA C8AC 6A53 0000 0000 0000 3AC3 9E62 3AC3 CA79 619E 0000 0000 0000 ; END;

--------------------------------

Put this in a file (without the dashes), call it "something.mif" and open it with Quartus. Voilà !

Hope this helps,

Bet Cuzeau

Reply to
Bert Cuzeau

Thank you for your reply. I've used MIF files for simulation previously, but I would like to program the UFM seperately. It seems like the Quartus II programmer accepts SOF files only. How can I load the MIF file into the UFM?

Further is there a way I can generate a SVF file to program the UFM? I would like to program serial numbers etc. into the UFM during production and testing of some boards containing a MAX II among other devices.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

Hi Petter,

my first attempt to look into the problem caused following exception in quartus :)

Internal Error: Sub-system: PGME, File: pgme_tsunami_algorithm.cpp, Line:

1640 data_ptr != NULL Quartus II Version 4.2 Build 156 11/29/2004 SJ Web Edition

and Quartus self closed itself silently... hm...next attempt:

Error: JEDEC STAPL Format Files, Jam STAPL Byte Code 2.0 Files, Serial Vector Format Files, and In System Configuration Files do not support EPM1270 device

ok your choices

1) to reverse engineer the JTAG commands to program the UFM and write your own JAM or SVF and play that using JAM or SVF player 2) fight with Altera to provide some solution 3) if you can live that you need to program the UFM before the main then you can use simple JTAG-BSCAN indirect approuch 4) if you can allocate some 10 to 12 LE you can add the ability to reprogram the UFM while the MAX2 is programmed (and possible operation) 5) you can hire me todo [1] 6) you can hire me todo [3] or [4]

formatting link

there is simple boilerplate that connect the JTAG BSCAN to the UFM for read/write - its only an starter boilerplate need to add some flip flops and muxes to get it useable, but it shows a little how the idea would work

Antti

"Petter Gustad" schrieb im Newsbeitrag news: snipped-for-privacy@filestore.home.gustad.com...

Reply to
Antti Lukats

Urg!

You can generate SVF in 4.2SP1:

Version 4.2 Build 178 01/19/2005 Service Pack 1 SJ Full Version

I have set_global_assignment -name GENERATE_SVF_FILE ON set_global_assignment -name GENERATE_JAM_FILE ON

in my Tcl script. But I would like to generate SVF files for the UFM part only. I don't want to run full synthesis, place and route, etc for each production device.

My plan was to write some code to merge in my own data in order to program the UFM from serial numbers read from a barcode reader.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

Hi Petter,

Chapter 9 of the MAX II handbook explains how to use the ALTUFM megafunction to add UFM data with mif or hex file. The user has to recompile if they want to change the hex file data, as this is how you convert it to POF.

This can be found at

formatting link
(page 9-34 thru 9-38.)

Hope this helps. Subroto Datta Altera Corp.

Petter Gustad wrote:

etc.

Reply to
Subroto Datta

read what the OP asked!

he wants to program the UFM from MIF or HEX __without__ recompiling! thats the all problem. dont suggest the obvious things. we all know that an MIF can be assigned to the UFM and it is merged to POF during compile.

antti PS what you said certainly does not help the OP !

what would help is when Altera would document the JTAG commands to program the MAX2 and UFM !

even the BSCAN USER command seems to be big secret if looking at Altera web! well thats no big deal the instruction is 0x0E but ASFAIK that info is not to be found in any public documents from Altera! cyclone JTAG download is pretty simple (but also not documented) this no-docu-from-altera is the problem why our FPGA FrequencyMeter application doesnt support fully Cyclone, we simple have not fully mastered the JTAG download, yes I looked at the SVF files, etc.. but this type of JTAG command reverse engineering is stupid!!! would be better to document the obvious things.

"Subroto Datta" schrieb im Newsbeitrag news: snipped-for-privacy@f14g2000cwb.googlegroups.com...

Reply to
Antti Lukats

Hi Subroto,

I've read the databook some time ago. I tried to simulate the UFM using $QUARTUS/eda/sim_lib/maxii_atoms.v. But this model does not seem to use the MIF file at all. The verilog model is using defparams to initialize the UFM contents during simulation and Quartus is using MIF to initialize the UFM during implementation. I was somewhat confused by this fact.

Anyway, what I would like to do is to program the UFM during production. The MAX II is supposed to replace some older PLD's, a couple I2C PROM's and some other logic. The I2C PROM's are programmed during production and I was hoping I could to the same for the MAX II UFM.

Is there a way I can generate a SVF file for the UFM only?

If not I'll have to install and run Quartus for each card at the prodcution site, pregenerate POF files for all serial numbers and product variations, or make the UFM control signals available externally so I can write some software to program the UFM at the production site.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.