ECAD & Architecture Labs - Altera/ARM FAQ List

Contents

Part 1: The Hardware

(1.1) Why do the LEDs show "Er"?

Part 2: The Altera Tools

Section 2.1: General

(2.1.1) How do I set the project directory?
(2.1.2) Where have my device/pin assignments gone?
(2.1.3) How do I assign a device?
(2.1.4) How do I make/change pin assignments?
(2.1.5) The Pin icon in the Assign | Pin/Location/Chip... box is greyed out!
(2.1.6) What is the .acf file?
(2.1.7) What does the error Can't read input file xyz mean?
(2.1.8) What does the error Installed hardware does not support device type xyz mean?

Section 2.2: Compiling

(2.2.1) I get Verilog HDL syntax error: component name "xyz" must be a module, task, function or block statement, but I've defined xyz as a module!

Section 2.3: Programming

(2.3.1) What does JTAG chain information specified in this dialog box does not match the information detected in hardware - configuration cancelled mean?

Section 2.4: Simulating

(2.4.1) How do I run a longer simulation?
(2.4.2) How do I change the rate of a clock input?
(2.4.3) Why do I get a black splodge rather than a vertical bar when I click in the waveform editor window?

Section 2.5: Performing a timing analysis

Part 3: The ARM Tools

Return to the index


Part 1: The Hardware

(1.1) Why do the LEDs show "Er"?

The MAX chip (the buffer between the ARM and the FLEX) has detected that the chips were trying to drive a line in opposite directions. Separate the boards by turning the nearest DIP switch to the front of the box up.

Return to the index


Part 2: The Altera Tools

Section 2.1: General

(2.1.1) How do I set the project directory?

You need to tell MAX plus where the top-level module of your project is, and where all of the other files that go with it are kept. Open the top-level design file, and click on * (File | Project | Set Project to current file), or choose File | Project | Name... and select the top-level design file.

Return to the index


(2.1.2) Where have my device/pin assignments gone?

Are you sure you have the right project loaded? - see (2.1.1)

Check the .acf file - see (2.1.6). If the pin assignments aren't there, you probably had the wrong project loaded when you made the assignments. See if you can track them down, otherwise you'll have to make them again.

Return to the index


(2.1.3) How do I assign a device?

From the Assign | Device... dialogue box (oddly). You probably want to choose an EPF10K20RC240-4, for which you'll have to turn off Show only fastest speed grades, and set the Device family to FLEX10K.

For the sake of completeness, the MAX chip is an EPM7128SLC84-7.

Return to the index


(2.1.4) How do I make/change pin assignments?

From the Assign | Pin/Location/Chip... dialogue box. You need to assign any pins on your chip which perform a particular function. Note that for buses, you have to do each net individually. You enter the name of the port on your top-level module in the Node Name icon, and then the pin number in the Pin icon; then click on Add to add it to the existing assignments in the bottom icon.

You can select from the bottom icon to delete or change the assignments of a node (don't forget to click Change if you need to before closing the dialogue box).

Note that if you try to change the name of the net assigned to a pin, you'll end up with two nets assigned to the same pin, so you'll need to delete one.

Alternatively, you can forget about that and edit the .acf file by hand - see (2.1.6).

Return to the index


(2.1.5) The Pin icon in the Assign | Pin/Location/Chip... box is greyed out!

You haven't assigned a device. Click on Assign device... and see (2.1.3).

Return to the index


(2.1.6) What is the .acf file?

It's the file where all of the configuration for the current project is saved; this includes pin and device assignments, compilation options, and lots of other things.

For a large number of pin assignments, it's much easier to edit this file by hand rather than use the dialogue box interface. The first section, entitled CHIP <name> is the one which contains the assignments - there's a line for each pin, as well as one for the device assignment. It's probably easiest to make an assignment in the dialogue box first, or copy from another .acf so that you can see the right format.

Return to the index


(2.1.7) What does the error Can't read input file xyz mean?

Most likely, it means the programmer's looking for a file which hasn't been built yet. Close the Programmer window until you're ready to use it.

Return to the index


(2.1.8) What does the error Installed hardware does not support device type xyz mean?

Again, the programmer's got confused. Open the JTAG | Multi-Device JTAG chain setup dialogue box, click on the first entry in the list of programming files, then click Change, and then OK.

Return to the index


Section 2.2: Compiling

(2.2.1) I get Verilog HDL syntax error: component name "xyz" must be a module, task, function or block statement, but I've defined xyz as a module!

It's a bug in Altera's software. You might find that enabling Processing | Total recompile, or restarting MAX+plus solves the problem.

Another trick, if the missing module is a separate file, is to switch project to that file and try to compile it. Once it compiles successfully (apart from messages about auto-selecting device types), try compiling the original file.

Return to the index


Section 2.3: Programming

(2.3.1) What does JTAG chain information specified in this dialog box does not match the information detected in hardware - configuration cancelled mean?

Well, pretty much what it says, actually. Check that the board has power (the Altera and ARM boards both have power LEDs), that the jumpers on the Altera board are set correctly, and that the information in the JTAG | Multi-Device JTAG chain setup dialogue box matches it.

To program the FLEX, you want the jumpers to be, starting from the back, to the left, left, right and right. In the dialogue box, you only want one entry in the Programming File Names list. It should look like this - what's important is the stuff in the big box in the middle, not the ones at the top.

programmer configuration dbox

Clicking on Detect JTAG chain info may give you a clue as to what's going wrong.

Return to the index


Section 2.4: Simulating

(2.4.1) How do I run a longer simulation?

In the Waveform Editor, select File | End Time..., then change the end time in the Simulator window.

Return to the index


(2.4.2) How do I change the rate of a clock input?

You can only set the clock to multiples of the grid spacing. In the Waveform editor, either turn off the grid altogether, with Options | Snap to Grid, or change its spacing, with Options | Grid Spacing....

Return to the index


(2.4.3) Why do I get a black splodge rather than a vertical bar when I click in the waveform editor window?

The editor thinks you're dragging the mouse. Be certain to keep the mouse still when you click.

Return to the index


Section 2.5: Performing a timing analysis

Return to the index


Part 3: The ARM Tools

Return to the index