厂商名称:Altera [Intel]



                           C8237                                                                     Enable/Disable control of indi-
                                                                                                     vidual DMA requests
                                         DMA Controller                                              Four, independent DMA chan-
                                         Altera Core                                                 nels

The C8237 Programmable DMA Controller core (C8237 core) is a peripheral inter-                      Independent auto-initialization of
face circuit for microprocessor systems. The core is designed for use with an                       all channels
external, 8-bit address latch. It contains four independent channels and may be ex-
panded to any number or channels by cascading additional controller chips. Each                     Memory-to-Memory transfers
channel has a full 64K address and word count capability.
                                                                                                     Memory block initialization
                                                                                                     Address increment of decrement
The C8237 core is designed to improve system performance by allowing external
devices to directly transfer information from the system memory.                                    Directly expandable to any
                                                                                                     number of channels
Block Diagram
                                                                                                     End of process input for termi-
                                                                                                     nating transfers

                                                                                                     Software DMA requests

                                                                                                     Independent polarity control for
                                                                                                     DREQ and DACK signals

                                                                                                     The C8237 was developed in
                                                                                                     HDL and synthesizes to ap-
                                                                                                     proximately 5,500 gates
                                                                                                     depending on the technology

                                                                                                     Functionality based on the Intel

     RESET                  16 Bit                                16 Bit                 AOUT[7:0]
        CLK             Decrementor                           Incrementor/
         CSN             Temp Word                            Decrementor
                                                           Temp Address Reg
    READY                Count Reg
  IOWNIN       Timing   Channel-3 Channel-2 Channel-1                    C8237REG
   EOPNIN        and                                                 Channel-0

         AEN  Control                Read/Write
EOPNOUT         State              Current Word             Current Word
   MEMRN      Machine              Count Register          Address Register
IORNOUT                                             Write
                                   Base Word Count  Base Word Address
      HLDA                               Register          Register

DREQ(3:0)       Fixed   Command                                                          DBOUT(7:0)
        HRQ   Priority   Register                                                        DBIN(7:0)
DACK(3:0)        and      Mask
              Rotating   Register     Mode                 Status            Temporary
              Priority               Register              Register            Register
                Logic    Register

                                                                                                     March 2004
Functional Description                                             Bit4: 0 -> Fixed priority

The C8237 core is partitioned into modules as shown in the        1 -> Rotating priority
block diagram and described below:
                                                                   Bit5: 0 -> Late write

                                                                   1 -> Extended write

Timing & Control                                                   X -> if bit3 = 1

It generates internal timing and external control signals for the  Bit6: 0 -> DREQ sense active high
C8237. The timing Control block derives internal timing from
the clock input. The C8237 operates in two major cycles, idle      1 -> DREQ sense active low
cycle (Si) and Active cycle (S0, S1, S2, S3, and S4). Memory-
to-memory transfers require a read-from and a write-to-            Bit7: 0 -> DACK sense active low
memory to complete each transfer. It requires eight states for
a single transfer. The first four states (S11, S12, S13, S14)      1 -> DACK sense active high
are used for the read-from memory half and the last four
states (S21, S22, S23, S24) for the write-to-memory half of        Mode Register
the transfer. Each state is composed of one full clock period.
                                                                   Write Mode Register Command:

                                                                   A3 A2 A1 A0 IORN IOWN

Fixed Priority & Rotating Priority Logic                           10111                         0

The Fixed Priority fixes the channels in priority order based      Each channel has a 6-bit Mode register. It is programmed by
upon the descending value of their number. The lowest prior-       the microprocessor.
ity channel is 3 and the highest priority channel is 0.

With Rotating Priority, the last channel to get service be-              D7 D6 D5 D4 D3 D2 D1 D0
comes the lowest priority channel with the others rotating
accordingly.                                                       Bit1 & Bit0: 00 -> Channel 0
                                                                                     01 -> Channel 1
C8237 Registers                                                                      10 -> Channel 2
                                                                                     11 -> Channel 3
The C8237 contains 344 bits of internal memory in the form
of registers. CSN must be low when the microprocessor is at-       Bit3 & Bit2: 00 -> Verify transfer (pseudo transfer)
tempting to write or read the internal registers of the C8237.                       01 -> Write transfer (from I/O to the memory)
                                                                                     10 -> Read transfer (from the memory to I/O)
Command Register                                                                     11 -> Illegal
                                                                                     XX -> if bits 6 and 7 = 11
Write Command Register Command:


10001             0

This 8-bit register controls the operation of the C8237. It is     Bit4: 0 -> Auto initialization disable
programmed by the microprocessor and is cleared by Reset
or a Master Clear instruction.                                            1 -> Auto initialization enable

      D7 D6 D5 D4 D3 D2 D1 D0                                      Bit5: 0 -> Address increment select

Bit0: 0 -> Memory-to-memory disable                                       1 -> Address decrement select
       1 -> Memory-to-memory enable
                                                                   Bit7 & Bit6: 00 -> Demand mode
Bit1: 0 -> Channel 0 address hold disable
       1 -> Channel 0 address hold enable                                            01 -> Single mode
       X -> if bit0 = 0
                                                                                     10 -> Block mode
Bit2: 0 -> Controller enable
       1 -> Controller disable                                                       11 -> Cascade mode

Bit3: 0 -> Normal timing                                           Demand Transfer Mode: The device will continue making
       1 -> Compressed timing                                      transfers until a TC or external EOPN is encountered or until
       X -> if bit 0 = 1                                           DREQ goes inactive.

                                                                   Single Transfer Mode: The device makes one transfer only.
                                                                   DREQ must be held active until DACK becomes active in or-
                                                                   der to be recognized.

                                                                   Block Transfer Mode: The device is active by DREQ or
                                                                   software request to continue making transfers during the ser-
                                                                   vice until a TC or an external EOPN is encountered. DREQ
                                                                   need only be held active until DACK becomes active.

                                                                   Cascade Transfer Mode: This mode is used to cascade
                                                                   more than one C8237 together for simple system expansion.
                                                                   The ready input is ignored in this cascade transfer mode.

Cast, Inc.                                                                                            2
Request Register                                                  Programming Single Mask Register Bits:
Write Request Register Command:
                                                                  Write Single Mask Register Bit Command:

A3 A2 A1 A0 IORN IOWN                                             A3 A2 A1 A0 IORN IOWN

10011                         0                                   10101            0

Each channel has a request bit associated with it in the 4-bit    X X X X D3 D2 D1 D0
Request register. These are non-maskable and subject to pri-
oritization by the Priority Encoder. Each register bit is set or  Bit0: 0 -> Clear channel 0 mask bit
reset separately under software control or is cleared upon
generation of a TC or external EOPN. The entire register is       1 -> Set channel 0 mask bit
cleared by a Reset. In order to make a software request, the
channel must be in Block Mode.                                    Bit1: 0 -> Clear channel 1 mask bit

X X X X X D2 D1 D0                                                1 -> Set channel 1 mask bit

Bit1 & Bit0: 00 -> Channel 0                                      Bit2: 0 -> Clear channel 2-mask bit

            01 -> Channel 1                                       1 -> Set channel 2 mask bit

            10 -> Channel 2                                       Bit3: 0 -> Clear channel 3-mask bit

            11 -> Channel 3                                       1 -> Set channel 3 mask bit

Bit2: 0 -> Reset request bit                                      Status Register

1 -> Set request bit                                              Read Status Register Command:

Mask Register                                                     A3 A2 A1 A0 IORN IOWN

Each channel has a mask bit associated with it which can be       10000            1
set to disable the incoming DREQ. Each mask bit is set when
its associated channel produces an EOPN if the channel is         This register is available to be read out of the C8237 by the
not programmed for Auto initialize. Each bit of the 4-bit Mask    microprocessor. It contains information about the status of the
register may also be set or cleared separately under software     devices at this point. Bits 0-3 are set when that channel
control. The entire register is also set by a Reset. This dis-    reaches a TC or an external EOPN is applied. These bits are
ables all DMA requests until a clear Mask register instruction    cleared upon Reset and on each Status Read. Bits 4-7 are
allows them to occur.                                             set whenever their corresponding channel is requesting.

Programming All Mask Register Bits:                                     D7 D6 D5 D4 D3 D2 D1 D0

Write All Mask Register Bits Command:                             Bit0: 1 -> Channel 0 has reached TC
                                                                  Bit1: 1 -> Channel 1 has reached TC
A3 A2 A1 A0 IORN IOWN                                             Bit2: 1 -> Channel 2 has reached TC
                                                                  Bit3: 1 -> Channel 3 has reached TC
11111                         0                                   Bit4: 1 -> Channel 0 request
                                                                  Bit5: 1 -> Channel 1 request
      X X X X X D2 D1 D0                                          Bit6: 1 -> Channel 2 request
                                                                  Bit7: 1 -> Channel 3 request
Bit1 & Bit0: 00 -> Channel 0
                  01 -> Channel 1
                  10 -> Channel 2
                  11 -> Channel 3

Bit2: 0 -> Clear mask bit
       1 -> Set mask bit

Cast, Inc.                                                                                                 3
Temporary Register                                                 Word Count and Address Register Command Codes
Read Temporary Register Command:                                   Write -> CSN = 0, IORN = 1 and IOWN = 0
                                                                   Read -> CSN = 0, IORN = 0 and IOWN = 1

11010       1                                                      Register         A3 A2 A1 A0 FF DB0-DB7

This register is used to hold data during memory-to-memory         CH 0                          0 A0-A7
transfers. Following the completion of the transfers, the last
word moved can be read by the microprocessor. The tempo-           Base and         0 0 0 0 1 A8-A15
rary register is cleared by a Reset.
                                                                   Current Address

                                                                   CH 0                          0 W0-W7

                                                                   Base and Cur-    0 0 0 1 1 W8-W15

                                                                   rent Word Count

Current Address Register                                           CH 1                          0 A0-A7
Each channel has a 16-bit Current Address register. This reg-
ister holds the value of the address used during DMA               Base and         0 0 1 0 1 A8-A15
transfers. The address is automatically incremented or dec-
remented after each transfer and the intermediate values of        Current Address
the address are stored in the Current Address register during
the transfer. This register is written or read by the microproc-   CH 1                          0 W0-W7
                                                                   Base and Cur-    0 0 1 1 1 W8-W15
Current Word Register
Each channel has a 16-bit Current Word Count register. This        rent Word Count
register determines the number of transfers to be performed.
The word count is decremented after each transfer. When the        CH 2                          0 A0-A7
value in the register goes from zero to FFFFH, a TC will be
generated. This register is loaded or read by the microproc-       Base and         0 1 0 0 1 A8-A15
essor in the Program Condition.
                                                                   Current Address
Base Address and Base Word Count Registers
Each channel has a 16-bit Base Address and 16-bit Base             CH 2                          0 W0-W7
Word Count register. These registers store the original value,
which will be loaded to current registers during Auto initialize.  Base and Cur-    0 1 0 1 1 W8-W15

                                                                   rent Word Count

                                                                   CH 3                          0 A0-A7

                                                                   Base and         0 1 1 0 1 A8-A15

                                                                   Current Address

                                                                   CH 3                          0 W0-W7

                                                                   Base and Cur-    0 1 1 1 1 W8-W15

                                                                   rent Word Count

                                                                   Software Commands

                                                                   These three commands do not depend on any specific bit
                                                                   pattern on the data bus.

                                                                   Clear First/Last Flip-Flop Command:

                                                                   A3 A2 A1 A0 IORN IOWN

                                                                   11001                  0

                                                                   This command must be executed prior to writing or reading
                                                                   new address or word count information to the C8237.

                                                                   Master Clear Command:

                                                                   A3 A2 A1 A0 IORN IOWN

                                                                   11011                  0

                                                                   This command has the same effect as the hardware Reset.
                                                                   The Command, Status, Request, Temporary, and Internal
                                                                   First/Last Flip-Flop registers are cleared and the Mask regis-
                                                                   ter is set. The C8237 will be in the idle cycle.

                                                                   Clear Mask Register Command:

                                                                   A3 A2 A1 A0 IORN IOWN

                                                                   11101                  0

                                                                   This command clears the mask bits of all four channels, ena-
                                                                   bling them to accept DMA requests

Cast, Inc.                                                                                                  4
Temporary Word Count Register (16 Bit Decrementor)                 Support

It will decrement the word count after each transfer. When the      The core as delivered is warranted against defects for three
value in the register goes from zero to FFFFH, a Terminal           years from purchase. Thirty days of phone and email technical
Count (TC) will be generated.                                       support are included, starting with the first interaction. Addi-
                                                                    tional maintenance and support options are available.
Temporary Address Register (16 Bit Incremen-
tor/Decrementor)                                                   Verification

Base on the mode of the address, the address will be decre-         The core has been verified through extensive simulation and
mented or incremented after each transfer. And the                  rigorous code coverage measurements.
intermediate values of the address are stored in the Current
Address register during the transfer.                              Deliverables

Implementation Results                                              The core includes everything required for successful implemen-
The following are typical performance and utilization results us-   Encrypted Licenses
ing a variety of Altera devices.
                                                                      Post-synthesis EDIF netlist
Supported Device             Utilization              Performance      Assignment & Configuration
                                                           Fmax       Symbol file
Family      Tested     LEs   Memory Memory                            Include file
                                                bits     97 MHz       Wrapper for matching the I/O of the original device
                      1,007                              94 MHz       Vectors for testbench
Cyclone     EP1C20-6  1,007  0            0             140 MHz     HDL Source Licenses
Stratix     EP1S20-5   816                                             VHDL or Verilog RTL source code
Stratix-II  EP2S60-3         0            0                            Testbench
                                                                      Wrapper for matching the I/O of the original device
                             0            0                            Vectors for testbench
                                                                      Expected results for testbench
                                                                      Simulation and synthesis script

                                                      CAST, Inc. 11 Stonewall Court
                                                      Woodcliff Lake, NJ 076747 USA
                                                      tel 201-391-8300 fax 201-391-8694

                                                      Copyright CAST, Inc. 2004, All Rights Reserved.
                                                      Contents subject to change without notice. July 2003
This datasheet has been downloaded from:

                 Free Download
           Daily Updated Database
      100% Free Datasheet Search Site
  100% Free IC Replacement Search Site
     Convenient Electronic Dictionary

               Fast Search System

                                                 All Datasheets Cannot Be Modified Without Permission
                                                                Copyright Each Manufacturing Company


About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 大学堂 TI培训 Datasheet 电子工程

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017, Inc. All rights reserved