文档库 最新最全的文档下载
当前位置:文档库 › Altera公司FPGA开发板DE1用户手册

Altera公司FPGA开发板DE1用户手册

Altera DE1 Board

DE1 Development and Education Board

User Manual Version 1.1 Copyright ? 2006 Altera Corporation

Altera DE1 Board

CONTENTS

Chapter 1 DE1 Package (1)

1.1 Package Contents (1)

1.2 The DE1 Board Assembly (2)

1.3 Getting Help (3)

Chapter 2 Altera DE1 Board (4)

2.1 Layout and Components (4)

2.2 Block Diagram of the DE1 Board (6)

2.3 Power-up the DE1 Board (8)

Chapter 3 DE1 Control Panel (10)

3.1 Control Panel Setup (10)

3.2 Controlling the LEDs and 7-Segment Displays (12)

3.3 SDRAM/SRAM Controller and Programmer (13)

3.4 Flash Memory Programmer (14)

3.5 Overall Structure of the DE1 Control Panel (16)

3.6 TOOLS – Multi-Port SRAM/SDRAM/Flash Controller (18)

3.7 VGA Display Control (19)

Chapter 4 Using the DE1 Board (24)

4.1 Configuring the Cyclone II FPGA (24)

4.2 Using the LEDs and Switches (26)

4.3 Using the 7-segment Displays (30)

4.4 Clock Inputs (31)

4.5 Using the Expansion Header (32)

4.6 Using VGA (36)

4.7 Using the 24-bit Audio CODEC (38)

4.8 RS-232 Serial Port (39)

4.9 PS/2 Serial Port (40)

4.10 Using SDRAM/SRAM/Flash (40)

Chapter 5 Examples of Advanced Demonstrations (46)

5.1 DE1 Factory Configuration (46)

5.2 Music Synthesizer Demonstration (47)

5.3 A Karaoke Machine (50)

5.4 SD Card Music Player (52)

Chapter 1

DE1 Package

The DE1 package contains all components needed to use the DE1 board in conjunction with a computer that runs the Microsoft Windows software.

1.1Package Contents

Figure 1.1 shows a photograph of the DE1 package.

Figure 1.1. The DE1 package contents.

The DE1 package includes:

?DE1 board

?USB Cable for FPGA programming and control

?CD-ROM containing the DE1 documentation and supporting materials, including the User Manual, the Control Panel utility, reference designs and demonstrations, device datasheets, tutorials, and a set of laboratory exercises

?CD-ROMs containing Altera’s Quartus? II 6.0 Web Edition software and the Nios? II 5.0 embedded processor

?Bag of six rubber (silicon) covers for the DE1 board stands. The bag also contains some extender pins, which can be used to facilitate easier probing with testing equipment of the board’s I/O expansion headers

?Clear plastic cover for the board

?9V DC wall-mount power supply

1.2The DE1 Board Assembly

To assemble the included stands for the DE1 board:

?Assemble a rubber (silicon) cover, as shown in Figure 1.2, for each of the six copper stands on the DE1 board

?The clear plastic cover provides extra protection, and is mounted over the top of the board by using additional stands and screws

Figure 1.2. The feet for the DE1 board.

1.3Getting Help

Here are the addresses where you can get help if you encounter problems:

?Altera Corporation

101 Innovation Drive

San Jose, California, 95134 USA

Email: university@https://www.wendangku.net/doc/a61691822.html,

?Terasic Technologies

No. 356, Sec. 1, Fusing E. Rd.

Jhubei City, HsinChu County, Taiwan, 302

Email: support@https://www.wendangku.net/doc/a61691822.html,

Web: https://www.wendangku.net/doc/a61691822.html,

Chapter 2

Altera DE1 Board

This chapter presents the features and design characteristics of the DE1 board.

2.1Layout and Components

A photograph of the DE1 board is shown in Figure 2.1. It depicts the layout of the board and indicates the location of the connectors and key components.

Figure 2.1. The DE1 board.

The DE1 board has many features that allow the user to implement a wide range of designed circuits, from simple circuits to various multimedia projects.

The following hardware is provided on the DE1 board:

?Altera Cyclone? II 2C20 FPGA device

?Altera Serial Configuration device – EPCS4

?USB Blaster (on board) for programming and user API control; both JTAG and Active Serial (AS) programming modes are supported

?512-Kbyte SRAM

?8-Mbyte SDRAM

?4-Mbyte Flash memory

?SD Card socket

? 4 pushbutton switches

?10 toggle switches

?10 red user LEDs

?8 reen user LEDs

?50-MHz oscillator, 27-MHz oscillator and 24-MHz oscillator for clock sources

?24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in jacks

?VGA DAC (4-bit resistor network) with VGA-out connector

?RS-232 transceiver and 9-pin connector

?PS/2 mouse/keyboard connector

?Two 40-pin Expansion Headers with resistor protection

?Powered by either a 7.5V DC adapter or a USB cable

In addition to these hardware features, the DE1 board has software support for standard I/O interfaces and a control panel facility for accessing various components. Also, software is provided for a number of demonstrations that illustrate the advanced capabilities of the DE1 board.

In order to use the DE1 board, the user has to be familiar with the Quartus II software. The necessary knowledge can be acquired by reading the tutorials Getting Started with Altera’s DE1 Board and Quartus II Introduction (which exists in three versions based on the design entry method used, namely Verilog, VHDL or schematic entry). These tutorials are provided in the directory DE1_tutorials on the DE1 System CD-ROM that accompanies the DE1 board and can also be found on Altera’s DE1 web pages.

2.2Block Diagram of the DE1 Board

Figure 2.2 gives the block diagram of the DE1 board. To provide maximum flexibility for the user, all connections are made through the Cyclone II FPGA device. Thus, the user can configure the FPGA to implement any system design.

Figure 2.2. Block diagram of the DE1 board.

Following is more detailed information about the blocks in Figure 2.2:

Cyclone II 2C20 FPGA

?18,752 LEs

?52 M4K RAM blocks

?240K total RAM bits

?26 embedded multipliers

? 4 PLLs

?315 user I/O pins

?FineLine BGA 484-pin package

Serial Configuration device and USB Blaster circuit

?Altera’s EPCS4 Serial Configuration device

?On-board USB Blaster for programming and user API control

?JTAG and AS programming modes are supported

SRAM

?512-Kbyte Static RAM memory chip

?Organized as 256K x 16 bits

?Accessible as memory for the Nios II processor and by the DE1 Control Panel

SDRAM

?8-Mbyte Single Data Rate Synchronous Dynamic RAM memory chip

?Organized as 1M x 16 bits x 4 banks

?Accessible as memory for the Nios II processor and by the DE1 Control Panel

Flash memory

?4-Mbyte NOR Flash memory.

?8-bit data bus

?Accessible as memory for the Nios II processor and by the DE1 Control Panel

SD card socket

?Provides SPI mode for SD Card access

?Accessible as memory for the Nios II processor with the DE1 SD Card Driver

Pushbutton switches

? 4 pushbutton switches

?Debounced by a Schmitt trigger circuit

?Normally high; generates one active-low pulse when the switch is pressed

Toggle switches

?10 toggle switches for user inputs

? A switch causes logic 0 when in the DOWN (closest to the edge of the DE1 board) position and logic 1 when in the UP position

Clock inputs

?50-MHz oscillator

?27-MHz oscillator

?24-MHz oscillator

?SMA external clock input

Audio CODEC

?Wolfson WM8731 24-bit sigma-delta audio CODEC

?Line-level input, line-level output, and microphone input jacks

?Sampling frequency: 8 to 96 KHz

?Applications for MP3 players and recorders, PDAs, smart phones, voice recorders, etc. VGA output

?Uses a 4-bit resistor-network DAC

?With 15-pin high-density D-sub connector

?Supports up to640x480 at 60-Hz refresh rate

?Can be used with the Cyclone II FPGA to implement a high-performance TV Encoder

Serial ports

?One RS-232 port

?One PS/2 port

?DB-9 serial connector for the RS-232 port

?PS/2 connector for connecting a PS2 mouse or keyboard to the DE1 board

Two 40-pin expansion headers

?72 Cyclone II I/O pins, as well as 8 power and ground lines, are brought out to two 40-pin expansion connectors

?40-pin header is designed to accept a standard 40-pin ribbon cable used for IDE hard drives ?Resistor protection is provided

2.3Power-up the DE1 Board

The DE1 board comes with a preloaded configuration bit stream to demonstrate some features of the board. This bit stream also allows users to see quickly if the board is working properly. To power-up the board perform the following steps:

1.Connect the provided USB cable from the host computer to the USB Blaster connector on

the DE1 board. For communication between the host and the DE1 board, it is necessary to install the Altera USB Blaster driver software. If this driver is not already installed on the host computer, it can be installed as explained in the tutorial Getting Started with Altera's DE1 Board. This tutorial is available on the DE1 System CD-ROM and from the Altera DE1 web pages.

2.Connect the 7.5V adapter to the DE1 board

3.Connect a VGA monitor to the VGA port on the DE1 board

4.Connect your headset to the Line-out audio port on the DE1 board

5.Turn the RUN/PROG switch on the left edge of the DE1 board to RUN position; the

PROG position is used only for the AS Mode programming

6.Turn the power on by pressing the ON/OFF switch on the DE1 board

At this point you should observe the following:

?All user LEDs are flashing

?All 7-segment displays are cycling through the numbers 0 to F

?The VGA monitor displays the image shown in Figure 2.3 and Figure2.4 according to SW0. ?Set the toggle switch SW9 to the DOWN position; you should hear a 1-kHz sound

?Set the toggle switch SW9 to the UP position and connect the output of an audio player to the Line-in connector on the DE1 board; on your headset you should hear the music played from the audio player (MP3, PC, iPod, or the like)

?You can also connect a microphone to the Microphone-in connector on the DE1 board; your voice will be mixed with the music played from the audio player

Figure 2.3. The default VGA output pattern when SW0 is set to DOWN position.

Figure 2.4. The default VGA output pattern when SW0 is set to UP position.

Chapter 3

DE1 Control Panel

The DE1 board comes with a Control Panel facility that allows a user to access various components on the board through a USB connection from a host computer. This chapter first presents some basic functions of the Control Panel, then describes its structure in block diagram form, and finally describes its capabilities.

3.1Control Panel Setup

To run the Control Panel application, it is first necessary to configure a corresponding circuit in the Cyclone II FPGA. This is done by downloading the configuration file DE1_USB_API.sof into the FPGA. The downloading procedure is described in Section 4.1.

In addition to the DE1_USB_API.sof file, it is necessary to execute on the host computer the program DE1_control_panel.exe. Both of these files are available on the DE1 System CD-ROM that accompanies the DE1 board, in the directory DE1_control_panel. Of course, these files may already have been installed to some other location on your computer system.

To activate the Control Panel, perform the following steps:

1.Connect the supplied USB cable to the USB Blaster port, connect the 9V power supply,

and turn the power switch ON

2.Set the RUN/PROG switch to the RUN position

3.Start the Quartus II software

4.Select Tools > Programmer to reach the window in Figure 3.1. Click on Add File and in

the pop-up window that appears select the DE1_USB_API.sof file. Next, click on the Program/Configure box which results in the image displayed in the figure. Now, click Start to download the configuration file into the FPGA.

5.Start the executable DE1_control_panel.exe on the host computer. The Control Panel user

interface shown in Figure 3.2 will appear.

6.Open the USB port by clicking Open > Open USB Port 0. The DE1 Control Panel

application will list all the USB ports that connect to DE1 boards. The DE1 Control Panel can control up to 4 DE1 boards using the USB links. The Control Panel will occupy the USB port until you close that port; you cannot use Quartus II to download a configuration file into the FPGA until you close the USB port.

7.The Control Panel is now ready for use; experiment by setting the value of some 7-segment

display and observing the result on the DE1 board.

Figure 3.1. Quartus II Programmer window.

Figure 3.2. The DE1 Control Panel.

The concept of the DE1 Control Panel is illustrated in Figure 3.3. The IP that performs the control functions is implemented in the FPGA device. It communicates with the Control Panel window, which is active on the host computer, via the USB Blaster link. The graphical interface is used to

issue commands to the control circuitry. The provided IP handles all requests and performs data transfers between the computer and the DE1 board.

Figure 3.3. The DE1 Control Panel concept.

The DE1 Control Panel can be used to change the values displayed on 7-segment displays, light up LEDs, talk to the PS/2 keyboard, read/write the SRAM, Flash Memory and SDRAM, load an image pattern to display as VGA output, load music to the memory and play music via the audio DAC. The feature of reading/writing a byte or an entire file from/to the Flash Memory allows the user to develop multimedia applications (Flash Audio Player, Flash Picture Viewer) without worrying about how to build a Flash Memory Programmer.

3.2Controlling the LEDs and 7-Segment Displays

A simple function of the Control Panel is to allow setting the values displayed on LEDs and 7-segment displays.

In the window shown in Figure 3.2, the values to be displayed by the 7-segment displays (which are named HEX7-0) can be entered into the corresponding boxes and displayed by pressing the Set button.

Choosing the LED tab leads to the window in Figure 3.4. Here, you can turn the individual LEDs on by selecting them and pressing the Set button.

The ability to set arbitrary values into simple display devices is not needed in typical design activities. However, it gives the user a simple mechanism for verifying that these devices are functioning correctly in case a malfunction is suspected. Thus, it can be used for troubleshooting purposes.

Figure 3.4. Controlling LEDs and the LCD display.

3.3SDRAM/SRAM Controller and Programmer

The Control Panel can be used to write/read data to/from the SDRAM and SRAM chips on the DE1 board. We will describe how the SDRAM may be accessed; the same approach is used to access the SRAM. Click on the SDRAM tab to reach the window in Figure 3.5.

Figure 3.5. Accessing the SDRAM.

A 16-bit word can be written into the SDRAM by entering the address of the desired location, specifying the data to be written, and pressing the Write button. Contents of the location can be read by pressing the Read button. Figure 3.5 depicts the result of writing the hexadecimal value 6CA into location 200, followed by reading the same location.

The Sequential Write function of the Control Panel is used to write the contents of a file into the SDRAM as follows:

1.Specify the starting address in the Address box.

2.Specify the number of bytes to be written in the Length box. If the entire file is to be

loaded, then a checkmark may be placed in the File Length box instead of giving the number of bytes.

3.To initiate the writing of data, click on the Write a File to SDRAM button.

4.When the Control Panel responds with the standard Windows dialog box asking for the

source file, specify the desired file in the usual manner.

The Control Panel also supports loading files with a .hex extension. Files with a .hex extension are ASCII text files that specify memory values using ASCII characters to represent hexadecimal values. For example, a file containing the line

0123456789ABCDEF

defines four 16-bit values: 0123, 4567, 89AB, CDEF. These values will be loaded consecutively into the memory.

The Sequential Read function is used to read the contents of the SDRAM and place them into a file as follows:

1.Specify the starting address in the Address box.

2.Specify the number of bytes to be copied into the file in the Length box. If the entire

contents of the SDRAM are to be copied (which involves all 8 Mbytes), then place a checkmark in the Entire SDRAM box.

3.Press Load SDRAM Content to a File button.

4.When the Control Panel responds with the standard Windows dialog box asking for the

destination file, specify the desired file in the usual manner.

3.4Flash Memory Programmer

The Control Panel can be used to write/read data to/from the Flash memory chip on the DE1 board. It can be used to:

?Erase the entire Flash memory

?Write one byte to the memory

?Read one byte from the memory

?Write a binary file to the memory

?Load the contents of the Flash memory into a file

Note the following characteristics of the Flash memory:

?The Flash memory chip is organized as 4 M x 8 bits.

?You must erase the entire Flash memory before you can write into it. (Be aware that the number of times a Flash memory can be erased is limited.)

?The time required to erase the entire Flash memory is about 20 seconds. Do not close the DE1 Control Panel in the middle of the operation.

To open the Flash memory control window, shown in Figure 3.6, select the FLASH tab in the Control Panel.

Figure 3.6. Flash memory control window.

A byte of data can be written into a random location on the Flash chip as follows:

1.Click on the Chip Erase button. The button and the window frame title will prompt you to

wait until the operation is finished, which takes about 20 seconds.

2.Enter the desired address into the Address box and the data byte into the wDATA box.

Then, click on the Write button.

To read a byte of data from a random location, enter the address of the location and click on the Read button. The rDATA box will display the data read back from the address specified.

The Sequential Write function is used to load a file into the Flash chip as follows:

1.Specify the starting address and the length of data (in bytes) to be written into the Flash

memory. You can click on the File Length checkbox to indicate that you want to load the entire file.

2.Click on the Write a File to Flash button to activate the writing process.

3.When the Control Panel responds with the standard Windows dialog box asking for the

source file, specify the desired file in the usual manner.

The Sequential Read function is used to read the data stored in the Flash memory and write this data into a file as follows:

1.Specify the starting address and the length of data (in bytes) to be read from the Flash

memory. You can click on the Entire Flash checkbox to indicate that you want to copy the entire contents of the Flash memory into a specified file.

2.Click on the Load Flash Content to a File button to activate the reading process.

3.When the Control Panel responds with the standard Windows dialog box asking for the

destination file, specify the desired file in the usual manner.

3.5Overall Structure of the DE1 Control Panel

The DE1 Control Panel facility communicates with a circuit that is instantiated in the Cyclone II FPGA. This circuit is specified in Verilog code, which makes it possible for a knowledgeable user to change the functionality of the Control Panel. The code is located inside the DE1_demonstrations directory on the DE1 System CD-ROM.

To run the Control Panel, the user must first set it up as explained in Section 3.1. Figure 3.7 depicts the structure of the Control Panel. Each input/output device is controlled by a controller instantiated in the FPGA chip. The communication with the PC is done via the USB Blaster link. A Command Controller circuit interprets the commands received from the PC and performs the appropriate actions. The SDRAM, SRAM, and Flash Memory controllers have three user-selectable asynchronous ports in addition to the Host port that provides a link with the Command Controller. The connection between the VGA DAC Controller and the FPGA memory allows displaying of the default image shown on the left side of the figure, which is stored in an M4K block in the Cyclone II chip. The connection between the Audio DAC Controller and a lookup table in the FPGA is used to produce a test audio signal of 1 kHz.

To let users implement and test their IP cores (written in Verilog) without requiring them to implement complex API/Host control software and memory (SRAM/SDRAM/Flash) controllers, we provide an integrated control environment consisting of a software controller in C++, a USB command controller, and a multi-port SRAM/SDRAM/Flash controller.

Figure 3.7. The DE1 Control Panel block diagram.

Users can connect circuits of their own design to one of the User Ports of the SRAM/SDRAM/Flash controller. Then, they can download binary data into the SRAM/SDRAM/Flash. Once the data is downloaded to the SDRAM/Flash, users can configure the memory controllers so that their circuits can read/write the SDRAM/Flash via the User Ports connected.

3.6TOOLS – Multi-Port SRAM/SDRAM/Flash Controller

The TOOLS page of the Control Panel GUI allows selection of the User Ports. We will illustrate a typical process by implementing a Flash Music Player. The music data is loaded into the Flash memory. User Port 1 in the Flash Controller is used to send the music data to the Audio DAC Controller and hence to the audio output jack.

You can implement this application as follows:

1.Erase the Flash memory (as explained in Section 3.4). Then, write a music file into the

Flash memory. You can use the file music.wav in the directory DE1_demonstrations\music on the DE1 System CD-ROM.

2.In the DE1 Control Panel, select the TOOLS tab to reach the window in Figure

3.8.

Figure 3.8. TOOLS window of the DE1 Control Panel.

3.Select the Asynchronous 1 port for the Flash Multiplexer and then click on the Configure

button to activate the port. You need to click the Configure button to enable the connection from the Flash Memory to the Asynchronous Port 1 of the Flash Controller (indicated in Figure 3.7).

4.Set toggle switches SW1 and SW0 to OFF (DOWN position) and ON (UP position),

respectively.

5.Plug your headset or a speaker into the audio output jack and you should hear the music

相关文档
相关文档 最新文档