Chapter 1 CPLD/FPGA Development System

advertisement
Chapter 1
CPLD/FPGA Development System
As shown in Figure 1-1, CPLD (Complex Programmable Logic Device)
and FPGA (Field-Programmable Gate Array) are the programmable
logic devices (PLDs) whose internal circuitry can be programmed by
users through appropriate software.
Under some limitations, CPLD
and FPGA devices can be designed as any digital circuits either
combinational or sequential circuits.
Figure 1-1 Classification of logic devices
About the CIC-310
The CIC-310 CPLD/FPGA Development System shown in Figure 1-2
is self-contained equipment.
It consists of two primary boards:
1-1
1.
Development Board
EPF8282ALC84 Development Board SN-PLDE2 or
EPF10K10LC84 Development Board SN-PLDE3
2.
Experiment Board: SN-PLDE3A
Figure 1-2
CPLD/FPGA development system
We will discuss the Development Board SN-PLDE2 and Experiment
Board SN-PLDE3A below.
The SN-PLDE3 Development Board will
be described in Chapter 9.
Development Board SN-PLDE2
The SN-PLDE2 Development Board shown in Figure 1-3 contains an
Altera SRAM-based FPGA type EPF8282ALC84-4 (5,000 gate count),
AT89C2051 microcontroller, configuration device 24LC64, 89C52
expansion socket, and an RS-232 interface circuit. The AT89C2051
microcontroller is used to load the configuration data to FPGA or
SEEPROM devices via RS-232 serial port.
Through three 40-pin connectors J1, J2, and J3, the Development
Board can easily be connected to a variety of experimental circuits
such as the Experiment Board SN-PLDE3A, project board or the
user’s circuits on breadboard.
1-2
The RESET button S1 is used to reset the development system.
The EXE MODE connector J6 is used to execute a configuration file
when a jumper cap is in the position.
The next configuration file
(displayed on SEEPROM in DNLD window) will be loaded and
executed by removing and inserting the jumper cap every time.
Connector J5 provides a +5V dc power supply for external circuits.
The RS232 connector P1 links the Development Board to personal
computer using the supplied RS232 cable.
Figure 1-3
SN-PLDE2 development board
1-3
The architecture of Altera’s Flexible Logic Element MatriX (FLEX)
devices support five different configuration schemes for loading a
design into a single FLEX 8000 device on the circuit board.
Chapter 8 for detailed information.
Refer to
The FLEX 8000 architecture
uses SRAM cells to store the configuration data for the device.
These SRAM cells must be loaded every time the circuit powers up
and begins operation.
The process of physically loading the SRAM
programming data into the FLEX 8000 device is called configuration.
After configuration, the FLEX 8000 device resets its registers,
enables its I/O pins, and begins operating as a logic device.
reset operation is called initialization.
The
Together, the configuration
and initialization processes are called command mode; normal incircuit device operation is called user mode.
When active configuration is selected, the configuration data of
FPGA stored in external serial ROM (SROM) or parallel ROM is read
and then written to internal SRAM.
The CPLD/FPGA Development
System reserves the U4 socket for installing Microchip’s SROM type
37LV65 (8 KB).
The SROM occupies five FPGA pins: DATA0,
nCONFIG, DCLK, CONF_DONE, and nSTATUS.
To define the
active configuration mode, a jumper cap must be placed in the lowest
position of J8.
If passive configuration is selected, the configuration data of FPGA is
transmitted from a host (personal computer) to FPGA’s configuration
RAM via the RS-232 serial communication port.
Your CPLD/FPGA
Development System CIC-310 is designed to operate in this mode.
Therefore two jumper caps are in the upper two positions of J8.
Additionally, the configuration data on PC is written into SEEPROM
(24LC64, U5) for storing configuration files, and reloading an
autoexecutable configuration file to FPGA when the system reboots.
The system is equipped with a 24LC64 (8 KB) chip for this purpose
1-4
and can be expanded to 32 KB memory space (4 chips of 24LC64,
U5-U8).
This configuration mode is defined by the pins NSP,
MSEL0, and MSEL1.
An AT89C52 microcontroller can be installed in the 89C52 socket to
associate with the FPGA device for high-performance designs.
Figure 1-4 shows the pin assignments of 89C52.
Figure 1-4
Pin assignments of 89C52 socket
Through 40-pin connectors J1, J2, J3, the FPGA I/O pins are
connected to the various I/O devices on the SN-PLDE3A Experiment
Board.
The pin assignments of J1-J3 are shown in Figure 1-5.
The JP18 on the Experiment Board is used to select the clock signal
to FPGA I54 pin from either MTX2 (11.0592 MHz) or P84 (pulser
generator SWP4).
1-5
Figure 1-5
J1-J3 connectors
Experiment Board SN-PLDE3A
The SN-PLDE3A Experiment Board, shown in Figure 1-6, provides
several different input and output devices, which are widely used in
modern electronic products.
These devices include: LEDs, 7-
segment and 16-segment displays for display, logic input switches for
data input, clock and pulse generators for signal generation.
FPGA pins are marked on the Experiment Board panel.
1-6
The
Figure 1-6 SN-PLDE3A experiment board
1-7
The Experiment Board is divided into the following sections:
1.
Logic Switch Input Section
In this section three 8-bit slide switches (S1, S2, and S3) are defined
as logic inputs.
The pin-out is described in Table 1-1.
The circuit
diagram of logic input switch is shown in Figure 1-8.
Each slide
switch is pulled up to V CC level (logic 1) by a 2.2-KΩ resistor when
the slide button is placed in the ON position; otherwise it is pulled
down to GND level (logic 0) by a 10-KΩ resistor.
Figure 1-7
Figure 1-8
Logic switches S1-S3
Logic input switch circuit
1-8
Table 1-1
Logic input switch pin-out
S1
FPGA
S2
FPGA
S3
FPGA
S1-1
P01
S2-1
P34
S3-1
P43
S1-2
P02
S2-2
P35
S3-2
P44
S1-3
P03
S2-3
P36
S3-3
P45
S1-4
P04
S2-4
P37
S3-4
P46
S1-5
P06
S2-5
P39
S3-5
P48
S1-6
P07
S2-6
P40
S3-6
P49
S1-7
P08
S2-7
P41
S3-7
P50
S1-8
P09
S2-8
P42
S3-8
P51
The logic state of each switch is indicated by the corresponding logic
LED display D1 through D16.
2.
Logic LED Display Section
There are two sets of 16-LED display as shown in Figure 1-9.
The
LEDs (D1 through D16) located at the lower right side of the
Experiment Board are usually used to indicate the logic state of the
logic input switches.
indicators if necessary.
However, D1-D16 can be used as output
In such a case, all of the logic input switch
must be in ON position.
The other set of 16-LED display is located at the upper right side of
the Experiment Board.
The LEDs (D17 through D32) are dedicated
to indicate the logic state of outputs.
These 32 LEDs are buffered
by CD40106 ICs as shown in the circuit of Figure 1-10 and the pinout in Table 1-2.
1-9
Figure 1-9
Figure 1-10
Logic LED display
Logic LED display circuit
1-10
Table 1-2
Logic LED display pin-out
LED
FPGA
LED
FPGA
LED
FPGA
LED
FPGA
D1
P01
D9
P34
D17
P55
D25
P64
D2
P02
D10
P35
D18
P56
D26
P65
D3
P03
D11
P36
D19
P57
D27
P66
D4
P04
D12
P37
D20
P58
D28
P67
D5
P06
D13
P39
D21
P60
D29
P69
D6
P07
D14
P40
D22
P61
D30
P70
D7
P08
D15
P41
D23
P62
D31
P71
D8
P09
D16
P42
D24
P63
D32
P72
3.
6-DIG Parallel-Serial 7-Segment Display Section
The 6-digit parallel-serial 7-segment display, located at the upper
side of the Experiment Board, consists of six common-cathode 7segment displays.
The segment names and pin assignments are
shown in Figure 1-11.
The pin-out of the 6-digit 7-segment display
is described in Table 1-3.
Figure 1-11
Pin assignments of 7-segment display
1-11
Table 1-3
6-digit 7-segment display pin-out
DP1
FPGA
DP2
FPGA
DP3
FPGA
SA1
P13
SA2
P22
SA3
P55
SB1
P14
SB2
P23
SB3
P56
SC1
P15
SC2
P24
SC3
P57
SD1
P16
SD2
P25
SD3
P58
SE1
P18
SE2
P27
SE3
P60
SF1
P19
SF2
P28
SF3
P61
SG1
P20
SG2
P29
SG3
P62
SP1
P21
SP2
P30
SP3
P63
SC1*
P76
SC2*
P77
SC3*
P78
DP4
FPGA
DP5
FPGA
DP6
FPGA
SA4
P64
SA5
P34
SA6
P43
SB4
P65
SB5
P35
SB6
P44
SC4
P66
SC5
P36
SC6
P45
SD4
P67
SD5
P37
SD6
P46
SE4
P69
SE5
P39
SE6
P48
SF4
P70
SF5
P40
SF6
P49
SG4
P71
SG5
P41
SG6
P50
SP4
P72
SP5
P42
SP6
P51
SC4*
P79
SC5*
P08
SC6*
P09
Note: *=Common-cathode terminal
The common-cathode terminal SC of each digit can be connected to
FPGA pin or ground with a jumper cap.
When connected to GND,
the digit operates in parallel mode (individual mode).
If connected
to FPGA pin, the digit operates in serial mode (scan mode).
In parallel mode, the 8 LED segments (SA-SP) of each digit must be
connected to FPGA pins on the left side of each selector (JP8, JP9,
JP10, JP11, JP12, JP13) with 8-jumper caps as shown in Figure 112(a).
1-12
To operate in serial mode, the common-cathode terminals SC1
through SC6 must be connected to the FPGA pins P76-P79, P08,
and P09, respectively, with jumper caps.
The same segments of all
digits must be connected in parallel by placing the 8-jumper caps in
JP8A through JP13A positions as well as JP8.
Figure 1-12(b)
shows the positions of jumper caps for serial operation.
In such a
case, the segments SA through SP are connected to the FPGA pins
P13 through P21, and the common-cathode terminals SC1 through
SC6 are connected to the FPGA pins P76-P79, P08, and P09,
respectively.
(a) Parallel mode
1-13
(b) Serial mode
Figure 1-12
4.
Operating modes of 6-digit 7-segment display
Pulser Generator Section
This section located at the lower side of the board consists of four
debounced push-button switches (SWP1, SWP2, SWP3, and SWP4),
which are defined as pulse outputs.
Each push-button signal is
defined as a logic 1 when pressed; when unpressed it becomes a
logic 0.
Each of the switches SWP1-SWP4 is a spring-loaded push
button switch.
When it is pressed and released, the output
produces a low-high-low pulse, which is suitable for the clock input of
counters or registers.
The circuit of pulser generator is shown in
Figure 1-13 and the pin-out in Table 1-4.
1-14
Figure 1-13
Table 1-4
5.
Pulser generator
Pulser generator pin-out
Pulser generator
FPGA pin
SWP1
P81
SWP2
P82
SWP3
P83
SWP4
P84
Clock Generator Section
The clock generators RCOSC1 and RCOSC2 are RC oscillators
constructed
from
CD40106
and
the
associated
resistors
and
capacitors.
The RCOSC1 generator can operate in low-frequency
range (JP15 LF pins closed) or high-frequency range (JP15 LF pins
open).
The output frequency is controlled by the HFQ ADJ knob
ranging from 5 to 500 KHz.
Similarly, the RCOSC2 generator can
operate in low-frequency range (JP17 LF pins closed) or highfrequency range (JP17 LF pins open).
Its output frequency is
adjusted by the LFQ ADJ knob ranging from 0.1 Hz to 20 KHz.
RCOSC1 output is connected to FPGA pin 31 (I31) by placing a
jumper cap in the I31 position of JP15 and RCOSC2 output is
connected to FPGA pin 73 (I73) by placing a jumper cap in the I73
position of JP17.
1-15
The circuits of clock generators and 20-MHz crystal oscillator are
shown in Figure 1-14.
The output of the crystal oscillator is
connected to FPGA pin 12 (I12) for clocking the device.
A 20-MHz
crystal oscillator is installed in factory, and it can be replaced by
another oscillator if a different frequency is needed for different
circuit designs.
Figure 1-14
6.
Clock generators
SW and Keyboard Section
The 4x4 matrix keyboard can be used in individual and scan modes.
1-16
(a) Individual buttons
(b) Circuit
Figure 1-15
Matrix keyboard in individual mode
1-17
(a) Scanned keyboard
(b) Circuit
Figure 1-16
Matrix keyboard in scan mode
1-18
When the matrix keyboard is used in individual mode (8-jumper caps
placed in PKI1, PKI2, and PKI3) as shown in Figure 1-15(a), these 16
buttons act as individual buttons and the circuit is shown in Figure 115(b).
If the keyboard is used in scan mode (8-jumper caps placed
in SCN1, SCN2, and SCN3) as shown in Figure 1-16(a), these 16
buttons act as a 4x4 scanned keyboard and the circuit is shown in
Figure 1-16(b).
Table 1-5
The keyboard pin-out is described in Table 1-5.
Matrix keyboard pin-out
Individual Mode
Scan
Keyboard
FPGA
Keyboard
FPGA
Mode
SW0
P34
SW8
P43
KIN1
SW1
P35
SW9
P44
KIN2
SW2
P36
SWA
P45
KIN3
SW3
P37
SWB
P46
KIN4
SW4
P39
SWC
P48
SCN1
SW5
P40
SWD
P49
SCN2
SW6
P41
SWE
P50
SCN3
SW7
P42
SWF
P51
SCN4
6.
16-Segment Display Section
The 16-segment display is common-cathode type.
Its segment
names and pin assignments is shown in Figure 1-17.
The common-
cathode terminal C-SEL must be connected to GND when using the
16-segment display.
1-19
Figure 1-17
16-segment display
The pin assignments of the 16-segment display socket JP21 are
shown in Figure 1-18.
The circuit is shown in Figure 1-19.
Figure 1-18
16-segment display socket
1-20
Figure 1-19
16-segment display circuit
The 16-segment display pin-out is described in Table 1-6.
When
using the 16-segment display, 8-jumper caps must be placed in JP8,
JP9, JP10 positions and a jumper cap must be in JP23.
Table 1-6
16-segment display pin-out
16-segment
FPGA
16-segment
FPGA
A1
P13 (DA1)
E2
P23 (DB2)
A2
P14 (DB1)
G1
P24 (DC2)
B1
P15 (DC1)
G2
P25 (DD2)
B2
P16 (DD1)
H1
P27 (DE2)
C1
P18 (DE1)
H2
P28 (DF2)
C2
P19 (DF1)
I1
P29 (DG2)
D1
P20 (DG1)
I2
P30 (DP2)
D2
P21 (DP1)
DP
P63 (DP3)
E1
P22 (DA2)
C-SEL
JP23 (GND)
1-21
7.
5 x 7 DOT LED Section
The pin assignments of the 5x7 dot LED are shown in Figure 1-20.
The socket for the dot LED (JP22) and the dot selector connector
(JP24) are shown in Figure 1-21.
Figure 1-22 shows the circuits of
JP22 and JP24.
Figure 1-20
Figure 1-21
Pin assignments of 5x7 dot LED
5x7 dot LED socket JP22 and dot selector JP24
1-22
Figure 1-22
JP22 and JP24 signals
Table 1-7 indicates the pin-out of the 5x7 dot LED.
When using the
5x7 dot LED, the 8-jumper caps must be installed in JP8 and JP24.
Table 1-7
8.
5x7 dot LED pin-out
Dot LED
FPGA
Dot LED
FPGA
PA1
P13
C1
P22
PA2
P14
C2
P23
PA3
P15
C3
P24
PA4
P16
C4
P25
PA5
P18
C5
P27
PA6
P19
PA7
P20
LCD 2021 Section
The JP20 connector shown in Figure 1-23 is for connecting an
external
LCD
module
LCD2021
to
the
FPGA
device.
The
potentiometer VR1 is used to adjust the contrast of LCD screen and
is not installed in factory.
If you want to use the function, remove
the jumper in VR1 block and install a 10-KΩ potentiometer as shown
in Figure 1-23(b).
The pin-out is described in Table 1-8.
1-23
(a) LCD2021 connector
(b) JP20 circuit
Figure 1-23
LCD2021 module
Table 1-8
LCD2021 pin-out
LCD
FPGA
LCD
FPGA
DB0
P13
E
P22
DB1
P14
R/W
P23
DB2
P15
D/I
P24
DB3
P16
LCT
DB4
P18
DB5
P19
DB6
P20
DB7
P21
1-24
System Setup
Follow the procedure to install the software and hardware of the CIC310 CPLD/FPGA Development System.
The system software
includes MAX+plus II manager and download manager DNLD
programs.
Installing Software
1.
Put the supplied CPLD/FPGA Development CD-ROM into CD
player.
The install program auto runs and the MAX+pus II
Install window is shown in Figure 1-24.
Figure 1-24
2.
MAX+pus II Install window
Choose the Full/Custom/FLEXIm Server to open the Welcome
window shown in Figure 1-25.
1-25
Figure 1-25
3.
Welcome window
Click on the Next button to open the MAX+plus II License
Agreement window as shown in Figure 1-26.
Figure 1-26
MAX+plus II License Agreement window
1-26
4.
Read the license agreement throughout and then click on Yes
button.
The Information window is shown in Figure 1-27.
Figure 1-27
5.
license agreement information
Click Next to open the User Information window as shown in
Figure 1-28.
Figure 1-28
User information window
1-27
6.
Type your name and company in the Name and Company fields,
respectively.
Then click on Next to open the Setup Type
window shown in Figure 1-29.
Figure 1-29
7.
Setup type selection
Select Full Installation item and click Next button to open the
first Choose Destination Location window shown in Figure 1-30.
Figure 1-30
First Choose Destination Location window
1-28
8.
Click Next to open the second Choose Destination Location
window as shown in Figure 1-31.
Figure 1-31
9.
second Choose Destination Location window
Click Next to open the third Choose Destination Location window
as shown in Figure 1-32.
Figure 1-32
Choosing destination
1-29
10. Click Next to open the Select Program Folder window as shown
in Figure 1-33.
Figure 1-33
Select Program Folder window
11. Click Next to open the Start Coping Files window as shown in
Figure 1-34.
Figure 1-34
Start Coping Files window
1-30
12. Click Next to start installing the software.
Once completed, a
Question dialog box is shown in Figure 1-35.
Figure 1-35
13. Click on Yes button.
Question dialog box
A readme window will display as shown in
Figure 1-36.
Figure 1-36
Readme window
1-31
14. Close the windows.
Execute C:\Programs\Altera\MAX+plus II
v10.1 program to open the MAX+plus II Manager window as
shown in Figure 1-37.
Figure 1-37
MAX+plus II Manager window
15. Use the Options-License Setup command on the toolbar to open
the License Setup window as shown in Figure 1-38.
Figure 1-38
License Setup window
1-32
16. Click on the System Info button to view your system information
as shown in Figure 1-39.
Figure 1-39
System information
17. Write down your C: drive serial number displayed and click OK.
Close the License Setup window.
Visit Altera web site
http://www.altera.com/authcode/index.html and select MAX+plus
II Software for Students and Universities item to request free
software license.
18. Altera will e-mail a license.dat file to you.
C:\maxplus2 folder.
Save this file into
Open the License Setup window again.
Click on Browse and select C:\maxplus2\license.dat as shown in
Figure 1-37.
Then click on OK button.
Setup window
1-33
Close the License
Figure 1-40
License setup
19. Copy E:\DNLD3.exe (or DNLD82.exe for WIN2000/NT/XP) file to
maxplus2 folder (from My Computer or File Manager).
Create
DNLD3 shortcut on desktop.
20. The software installation is now completed.
21. Copy E:\EXP folder (this folder includes 3 example folders) files
to max2work folder (from My Computer or File Manager).
1-34
Installing Hardware
To load the completed designs to FPGA device for emulation, you
must link the computer to the CPLD/FPGA Development System CIC310 using RS-232 cable.
1.
With all powers off, connect the RS-232 port (COM1 or COM2)
on personal computer to the RS-232 connector (P1) on FPGA
board SN-PLDE2 using the supplied 9-pin cable.
2.
Make sure that the voltage select switch 115V/230V on the
bottom panel of CIC-310 is in a correct position.
Connect the
AC socket on CIC-310 rear panel to the wall outlet via the
supplied AC cord.
3.
Turn on the power.
The power indicator should light up.
If not,
turn off the power and check the fuse on the rear panel.
4.
Proceed to the next Chapter for basic operation of software and
hardware.
1-35
1-36
Download