SlideShare a Scribd company logo
1 of 4
Download to read offline
International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015]
Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX
www.ijcmes.com Page | 10
Simulation of 8257 Direct Memory Access
Controller (DMA) Using VHDL
Vinod Kataria, Rajesh Kr. Saini
Reader, SKIT, Jaipur, Rajasthan, India
Abstract— The 8257 is a 4-channel direct memory access
(DMA) controller. It is specifically designed to simplify the
transfer of data at high speeds for the microcomputer
systems. Its primary function is to generate, upon a
peripheral request, a sequential memory address which will
allow the peripheral to read or write data directly to or from
memory. Acquisition of the system bus in accomplished via
the CPU’s holds function or via cycle stealing function. It
maintains the DMA cycle count for each channel and outputs
a control signal for simplified sectored data transfers.8257
significantly simplifies the transfer of data at high speed
between peripherals and memories. This work has been
taken up to optimize and reduce area of DMA controller.
Keywords— DMA controller, 8257, CPU, cycle stealing
I. INTRODUCTION
The 8257 DMA Controller is a peripheral chip originally
developed for the Intel 8085 microprocessor, and as such is a
member of a large array of such chips, known as the MCS-85
Family. This chip was later also used with the Intel 8086 and
its descendants. However, most often the functionality the
8257 offered is now not implemented with the 8257 chip
itself anymore, but is embedded in microcontrollers and
other VLSI chips. The 8257 chip itself is still in production.
Architecture and functional description of 8257 the
DMA Controller:
Fig. 1 Architectural representation of 8257
The 8257 is a programmable. Direct Memory Access
(DMA) device which, when coupled with a single Intel
8212 I/O port device, provides a complete four-channel
DMA controller for use in Intel microcomputer systems.
After being initialized by software, the 8257 can transfer a
block of data, containing up to 16.384 bytes. between
memory and a peripheral device directly,
Working:
Upon receiving a DMA transfer request from an enabled
peripheral, the 8257:
1. Acquires control of the system bus.
2. Acknowledges that requesting peripheral which is
connected to the highest priority channel.
3. Outputs the least significant eight bits of the memory
address onto system address lines A0-A7, outputs the most
significant eight bits of the memory address to the 8212 I/O
port via the data bus (the 8212 places these address bits on
lines A8-A15), and
4. Generates the appropriate memory and I/O read/ write
control signals that cause the peripheral to receive or
International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015]
Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX
www.ijcmes.com Page | 11
deposit a data byte directly from or to the addressed
location in memory.
The 8257 will retain control of the system bus and repeat
the transfer sequence. as long as a peripheral maintains its
DMA request. Thus, the 8257 can transfer a block of data
to/from a high speed peripheral (e.g.. a sector of data on a
floppy disk) in a single “burst”. When the specified number
of data bytes have been transferred, the 8257 activates its
Terminal Count (TC) output, informing the CPU that the
operation is complete.
The 8257 offers three different modes of operation: (1)
DMA read, which causes data to be transferred from
memory to a peripheral: (2) DMA write, which causes data
to be transferred from a peripheral to memory: and (3)
DMA verify, which does not actually involve the transfer of
data When an 8257 channel is in the DMA verify mode, it
will respond the same as described for transfer operations,
except that no memory or I/O read/write control signals will
be generated. thus preventing the transfer of data. The 8257.
however, will gain control of the system bus and will
acknowledge the peripheral’s DMA request for each DMA
cycle The peripheral can use these acknowledge signals to
enable an internal access of each byte of a data block in
order to execute some verification procedure, such as the
accumulation of a CRC (Cyclic Redundancy Code) check
word For example, a block of DMA verify cycles might
follow a block of DMA read cycles (memory to peripheral)
to allow the peripheral to verify its newly acquired data
II. DMA OPERATION
Single byte transfer:
single byte transfer is initiated by the 110 device raising the
DRO line of one channel of the 8257. If the channel is
enabled, the 8257 wilt output a HRO to the CPU. The 8257
now waits until a HLDA is received insuring that the
system bus is free for its use. Once HIDA is received the
DACK line for the requesting channel is activated (LOW).
The DACK line acts as a chip select for the requesting 110
device. The 8257 then generates the
read and write commands and byte transfer occurs between
the selected 110 device and memory. After the transfer Is
complete, the DACK line is set HIGH and the HRO line Is
set LOW to Indicate to the CPU that the bus is now free for
use. DRO must remain HIGH until DACK is issued to be
recognized and must go LOW before S4 of the transfer
sequence to prevent another transfer from occurring. (See
timing diagram.)
Consecutive Transfers :
If more than one channel requests service simultaneously y,
the transfer will occur In the same way a burst does. No
overhead is incurred by switching from one channel to
another. In each S4 the DRO lines are sampled and the
highest priority request is recognized during the next
transfer. A burst mode transfer in a lower priority channel
will be overridden by a higher priority request. Once the
high priority transfer has completed control will return to
the lower priority channel if its DRO is still active. No extra
cycles are needed to execute this sequence and the HRO
line remains active until all DRO lines go LOW.
Control Override.
The continuous DMA transfer mode described above can be
interrupted by an external device by lowering the HIDA
line. After each DMA transfer the 8257 samples the HLDA
line to insure that it Is still active, lilt is not active, the 8257
completes the current transfer, releases the HRQ line
(LOW) and returns to the idle state. If DRO lines are still
active the 8257 will raise the HRO line In the third cycle
and proceed normally .
The 8257 has a Ready input similar to the 8080A and the
8085k The Ready line is sampled in State 3. If Ready is
LOW the 8257 enters a wait state. Ready is sampled during
every wait state. When Ready returns HIGH the 8257
proceeds to State 4 to complete the transfer. Ready is used
to interface memory or 110 devices that cannot meet the bus
set up times required by the 8257.
The 8257 uses four clock cycles to transfer a byte of data.
No cycles are lost in the master to master transfer
maximizing bus efficiency. A 2MHz clock input will allow
the 8257 to transfer at a rate of 500K bytes/second.
Memory Mapped 110 Configurations
The 8257 can be connected to the system bus as a memory
device instead of as an I/O device for memory mapped I/O
configurations by connecting the system memory control
lines to the 8257’s I/O control lines and the system i/O
control tines to the 825Ts memory control tines.
This configuration permits use of the 8080s considerably
larger repertoire of memory instructions when reading or
loading the 8257s registers Note that with this connection,
the programming of the Read (bit 15) and Write (bit 14) bits
in the terminal count register will have a different meaning .
International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015]
Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX
www.ijcmes.com Page | 12
Observation :
1. On giving the clock cycle all signal are presented on the
screen. We sees the following observations:
• All the signals are initialized.
• All the terminal counter registers are set to
“00000000000000”.
• The intermediate signal a,b,c,d are set to “0000”.
• Intermediate integers e, f, g, h are set to 0.
• We use the fixed priority in this project so the
priority signal is set to 0 for fix.
• All other signals are uninitialized with U.
Fig. 2 Signals after giving clock
2. Connecting the peripheral to the channel DMA sends the
Hold request to the CPU. On connecting the peripheral to
Channel 0 and channel 1. We observe the following
observations:
• Input from the peripheral is 1100 that is assigned
to the temo.
• This value of temo. is assigned to the DRQ as
1100.
• But channel 0 has highest priority. The
intermediate signal DRQ line will 1000.
• The HRQ line signal is generated to the
corresponding this DRQ signal will be 1000. Now
this signal goes to CPU for holding request.
Fig. 3 signals after requesting peripheral
3. DRQ line goes to CPU we observe following
observations:
• If CPU sees its data bus free it sends Hold
acknowledge to DMA.
• So the MSB of CPU memory register is set to
“00000000”.
• CPU generates the hold acknowledge (HLDA line)
1000. So the channel 0 is selected for data transfer.
• DMA acquires the control signal.
Fig.4 Signals after HLDA
4. DMA generates the Read and Write signal and data are
transfer between peripheral to CPU memory. DMA comes
International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015]
Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX
www.ijcmes.com Page | 13
to master mode. Data to be transferred is 80C0E0F0. It will
generate the IOR read signal. We observe the following
observations:
• When IOR=1 and IOW=0 then byte C0 read from
peripheral.
• When IOR=0 and IOW=0 then byte C0 is written
to CPU memory register.
• When IOR=1 and IOW=1 then byte C0 transferred
to DMA register from CPU memory.
• When IOR=0 and IOW=1 then byte C0 transferred
to peripheral.
Fig.4 Byte transferred to memory and Peripheral
The observation shown above completes one cycle of byte
transfer from memory to peripheral . Similar observations
can be taken for byte transfer from peripheral to memory.
Based on the above observations the following results were
obtained.
III. RESULT
From above observation we got a byte transferred from
peripheral to memory at the specified location.
Fig. 5 Result
Above observed screen indicates the byte transfer.
IV. CONCLUSION
In view of the above results of the DMA source code, we
can conclude that-
• The system simulated by us functions as 8257 IC chip
functions.
• Based on results, we conclude that the simulated
program implemented by us in VHDL is 8257 IC.
• During the simulation the byte is transferred to CPU
memory successfully.
• We know that as the application of microprocessors in
our technology intensive environment is increasing, so
we have to develop practical skills in the areas of
computer applications, networking, and interfacing. This
project 8257 DMA using VHDL is based upon
simulated test bench waveform analysis. After doing
this project we are able to provide manufacturing details
to fabricate the chip.
REFERENCES
[1] “The Practical Xilinx designer lab book”, Writer:
David Van den Bout Published by Xilinx
Corporation.
[2] “A VHDL Primer”. Writer: J. BhaskarPublished
by Pearson Education
[3] “Programmable DMA Controller 8257”. Published
by Intel.

More Related Content

What's hot

8237 dma controller
8237 dma controller8237 dma controller
8237 dma controllerTech_MX
 
4.programmable dma controller 8257
4.programmable dma controller 82574.programmable dma controller 8257
4.programmable dma controller 8257MdFazleRabbi18
 
Data transfer techniques 8085
Data transfer techniques 8085Data transfer techniques 8085
Data transfer techniques 8085ShivamSood22
 
Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)Page Maker
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMAAJAL A J
 
FPGA based QDR-II+ SRAM Controller
FPGA based QDR-II+ SRAM ControllerFPGA based QDR-II+ SRAM Controller
FPGA based QDR-II+ SRAM Controlleriosrjce
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output OrganizationKamal Acharya
 
Unit3 pipelining io organization
Unit3 pipelining  io organizationUnit3 pipelining  io organization
Unit3 pipelining io organizationSwathi Veeradhi
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory AccessTuqa Rmahi
 
Ccna day4-140715152437-phpapp01
Ccna day4-140715152437-phpapp01Ccna day4-140715152437-phpapp01
Ccna day4-140715152437-phpapp01Sachin Morya
 
Coa module2
Coa module2Coa module2
Coa module2cs19club
 
Iaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilogIaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilogIaetsd Iaetsd
 
Direct memory access
Direct memory accessDirect memory access
Direct memory accessshubham kuwar
 

What's hot (18)

8237 dma controller
8237 dma controller8237 dma controller
8237 dma controller
 
4.programmable dma controller 8257
4.programmable dma controller 82574.programmable dma controller 8257
4.programmable dma controller 8257
 
Data transfer techniques 8085
Data transfer techniques 8085Data transfer techniques 8085
Data transfer techniques 8085
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
 
FPGA based QDR-II+ SRAM Controller
FPGA based QDR-II+ SRAM ControllerFPGA based QDR-II+ SRAM Controller
FPGA based QDR-II+ SRAM Controller
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output Organization
 
Unit3 pipelining io organization
Unit3 pipelining  io organizationUnit3 pipelining  io organization
Unit3 pipelining io organization
 
Io pro
Io proIo pro
Io pro
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
Ccna day4-140715152437-phpapp01
Ccna day4-140715152437-phpapp01Ccna day4-140715152437-phpapp01
Ccna day4-140715152437-phpapp01
 
Io pro
Io proIo pro
Io pro
 
Coa module2
Coa module2Coa module2
Coa module2
 
Iaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilogIaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilog
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
DMA operation
DMA operationDMA operation
DMA operation
 
Direct Memory Access ppt
Direct Memory Access pptDirect Memory Access ppt
Direct Memory Access ppt
 

Similar to 3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma) using vhdl

DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257Daniel Ilunga
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controllerafzal ahmad
 
INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)Prof Ansari
 
8251 -USART.pptx
8251 -USART.pptx8251 -USART.pptx
8251 -USART.pptxVikasMahor3
 
INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)Prof Ansari
 
8257 DMA Controller
8257 DMA Controller8257 DMA Controller
8257 DMA ControllerShivamSood22
 
Dma and dma controller 8237
Dma and dma controller 8237Dma and dma controller 8237
Dma and dma controller 8237Ashwini Awatare
 
8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .pptDrVikasMahor
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptxAyushChoudhary215905
 
8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish NagarNitish Nagar
 
chapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptxchapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptxJaypeeFajanil
 
Unit – 2
Unit – 2Unit – 2
Unit – 2techbed
 

Similar to 3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma) using vhdl (20)

DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257
 
Intel 8257 programmable dma controller
Intel 8257 programmable dma controllerIntel 8257 programmable dma controller
Intel 8257 programmable dma controller
 
INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)
 
8251 -USART.pptx
8251 -USART.pptx8251 -USART.pptx
8251 -USART.pptx
 
INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)INTERFACING WITH INTEL 8251A (USART)
INTERFACING WITH INTEL 8251A (USART)
 
8257 DMA Controller
8257 DMA Controller8257 DMA Controller
8257 DMA Controller
 
Dma and dma controller 8237
Dma and dma controller 8237Dma and dma controller 8237
Dma and dma controller 8237
 
8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt
 
Concept of dma
Concept of dmaConcept of dma
Concept of dma
 
Chapter5
Chapter5Chapter5
Chapter5
 
Frame relay
Frame relayFrame relay
Frame relay
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx
8251A INTEL Universal Synchronous Asynchronous Receiver Transmitter..pptx
 
Isa bus nptel
Isa bus nptelIsa bus nptel
Isa bus nptel
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
8259 a
8259 a8259 a
8259 a
 
8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar8086 Microprocessor by Nitish Nagar
8086 Microprocessor by Nitish Nagar
 
chapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptxchapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptx
 
Bc0040
Bc0040Bc0040
Bc0040
 
Unit – 2
Unit – 2Unit – 2
Unit – 2
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

3 ijcmes dec-2015-27-simulation of 8257 direct memory access controller (dma) using vhdl

  • 1. International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015] Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX www.ijcmes.com Page | 10 Simulation of 8257 Direct Memory Access Controller (DMA) Using VHDL Vinod Kataria, Rajesh Kr. Saini Reader, SKIT, Jaipur, Rajasthan, India Abstract— The 8257 is a 4-channel direct memory access (DMA) controller. It is specifically designed to simplify the transfer of data at high speeds for the microcomputer systems. Its primary function is to generate, upon a peripheral request, a sequential memory address which will allow the peripheral to read or write data directly to or from memory. Acquisition of the system bus in accomplished via the CPU’s holds function or via cycle stealing function. It maintains the DMA cycle count for each channel and outputs a control signal for simplified sectored data transfers.8257 significantly simplifies the transfer of data at high speed between peripherals and memories. This work has been taken up to optimize and reduce area of DMA controller. Keywords— DMA controller, 8257, CPU, cycle stealing I. INTRODUCTION The 8257 DMA Controller is a peripheral chip originally developed for the Intel 8085 microprocessor, and as such is a member of a large array of such chips, known as the MCS-85 Family. This chip was later also used with the Intel 8086 and its descendants. However, most often the functionality the 8257 offered is now not implemented with the 8257 chip itself anymore, but is embedded in microcontrollers and other VLSI chips. The 8257 chip itself is still in production. Architecture and functional description of 8257 the DMA Controller: Fig. 1 Architectural representation of 8257 The 8257 is a programmable. Direct Memory Access (DMA) device which, when coupled with a single Intel 8212 I/O port device, provides a complete four-channel DMA controller for use in Intel microcomputer systems. After being initialized by software, the 8257 can transfer a block of data, containing up to 16.384 bytes. between memory and a peripheral device directly, Working: Upon receiving a DMA transfer request from an enabled peripheral, the 8257: 1. Acquires control of the system bus. 2. Acknowledges that requesting peripheral which is connected to the highest priority channel. 3. Outputs the least significant eight bits of the memory address onto system address lines A0-A7, outputs the most significant eight bits of the memory address to the 8212 I/O port via the data bus (the 8212 places these address bits on lines A8-A15), and 4. Generates the appropriate memory and I/O read/ write control signals that cause the peripheral to receive or
  • 2. International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015] Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX www.ijcmes.com Page | 11 deposit a data byte directly from or to the addressed location in memory. The 8257 will retain control of the system bus and repeat the transfer sequence. as long as a peripheral maintains its DMA request. Thus, the 8257 can transfer a block of data to/from a high speed peripheral (e.g.. a sector of data on a floppy disk) in a single “burst”. When the specified number of data bytes have been transferred, the 8257 activates its Terminal Count (TC) output, informing the CPU that the operation is complete. The 8257 offers three different modes of operation: (1) DMA read, which causes data to be transferred from memory to a peripheral: (2) DMA write, which causes data to be transferred from a peripheral to memory: and (3) DMA verify, which does not actually involve the transfer of data When an 8257 channel is in the DMA verify mode, it will respond the same as described for transfer operations, except that no memory or I/O read/write control signals will be generated. thus preventing the transfer of data. The 8257. however, will gain control of the system bus and will acknowledge the peripheral’s DMA request for each DMA cycle The peripheral can use these acknowledge signals to enable an internal access of each byte of a data block in order to execute some verification procedure, such as the accumulation of a CRC (Cyclic Redundancy Code) check word For example, a block of DMA verify cycles might follow a block of DMA read cycles (memory to peripheral) to allow the peripheral to verify its newly acquired data II. DMA OPERATION Single byte transfer: single byte transfer is initiated by the 110 device raising the DRO line of one channel of the 8257. If the channel is enabled, the 8257 wilt output a HRO to the CPU. The 8257 now waits until a HLDA is received insuring that the system bus is free for its use. Once HIDA is received the DACK line for the requesting channel is activated (LOW). The DACK line acts as a chip select for the requesting 110 device. The 8257 then generates the read and write commands and byte transfer occurs between the selected 110 device and memory. After the transfer Is complete, the DACK line is set HIGH and the HRO line Is set LOW to Indicate to the CPU that the bus is now free for use. DRO must remain HIGH until DACK is issued to be recognized and must go LOW before S4 of the transfer sequence to prevent another transfer from occurring. (See timing diagram.) Consecutive Transfers : If more than one channel requests service simultaneously y, the transfer will occur In the same way a burst does. No overhead is incurred by switching from one channel to another. In each S4 the DRO lines are sampled and the highest priority request is recognized during the next transfer. A burst mode transfer in a lower priority channel will be overridden by a higher priority request. Once the high priority transfer has completed control will return to the lower priority channel if its DRO is still active. No extra cycles are needed to execute this sequence and the HRO line remains active until all DRO lines go LOW. Control Override. The continuous DMA transfer mode described above can be interrupted by an external device by lowering the HIDA line. After each DMA transfer the 8257 samples the HLDA line to insure that it Is still active, lilt is not active, the 8257 completes the current transfer, releases the HRQ line (LOW) and returns to the idle state. If DRO lines are still active the 8257 will raise the HRO line In the third cycle and proceed normally . The 8257 has a Ready input similar to the 8080A and the 8085k The Ready line is sampled in State 3. If Ready is LOW the 8257 enters a wait state. Ready is sampled during every wait state. When Ready returns HIGH the 8257 proceeds to State 4 to complete the transfer. Ready is used to interface memory or 110 devices that cannot meet the bus set up times required by the 8257. The 8257 uses four clock cycles to transfer a byte of data. No cycles are lost in the master to master transfer maximizing bus efficiency. A 2MHz clock input will allow the 8257 to transfer at a rate of 500K bytes/second. Memory Mapped 110 Configurations The 8257 can be connected to the system bus as a memory device instead of as an I/O device for memory mapped I/O configurations by connecting the system memory control lines to the 8257’s I/O control lines and the system i/O control tines to the 825Ts memory control tines. This configuration permits use of the 8080s considerably larger repertoire of memory instructions when reading or loading the 8257s registers Note that with this connection, the programming of the Read (bit 15) and Write (bit 14) bits in the terminal count register will have a different meaning .
  • 3. International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015] Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX www.ijcmes.com Page | 12 Observation : 1. On giving the clock cycle all signal are presented on the screen. We sees the following observations: • All the signals are initialized. • All the terminal counter registers are set to “00000000000000”. • The intermediate signal a,b,c,d are set to “0000”. • Intermediate integers e, f, g, h are set to 0. • We use the fixed priority in this project so the priority signal is set to 0 for fix. • All other signals are uninitialized with U. Fig. 2 Signals after giving clock 2. Connecting the peripheral to the channel DMA sends the Hold request to the CPU. On connecting the peripheral to Channel 0 and channel 1. We observe the following observations: • Input from the peripheral is 1100 that is assigned to the temo. • This value of temo. is assigned to the DRQ as 1100. • But channel 0 has highest priority. The intermediate signal DRQ line will 1000. • The HRQ line signal is generated to the corresponding this DRQ signal will be 1000. Now this signal goes to CPU for holding request. Fig. 3 signals after requesting peripheral 3. DRQ line goes to CPU we observe following observations: • If CPU sees its data bus free it sends Hold acknowledge to DMA. • So the MSB of CPU memory register is set to “00000000”. • CPU generates the hold acknowledge (HLDA line) 1000. So the channel 0 is selected for data transfer. • DMA acquires the control signal. Fig.4 Signals after HLDA 4. DMA generates the Read and Write signal and data are transfer between peripheral to CPU memory. DMA comes
  • 4. International Journal of Civil, Mechanical and Energy Science (IJCMES) [Vol-1, Issue-1, Nov-Dec, 2015] Infogain Publication (Infogainpublication.com) ISSN : XXXX-XXXX www.ijcmes.com Page | 13 to master mode. Data to be transferred is 80C0E0F0. It will generate the IOR read signal. We observe the following observations: • When IOR=1 and IOW=0 then byte C0 read from peripheral. • When IOR=0 and IOW=0 then byte C0 is written to CPU memory register. • When IOR=1 and IOW=1 then byte C0 transferred to DMA register from CPU memory. • When IOR=0 and IOW=1 then byte C0 transferred to peripheral. Fig.4 Byte transferred to memory and Peripheral The observation shown above completes one cycle of byte transfer from memory to peripheral . Similar observations can be taken for byte transfer from peripheral to memory. Based on the above observations the following results were obtained. III. RESULT From above observation we got a byte transferred from peripheral to memory at the specified location. Fig. 5 Result Above observed screen indicates the byte transfer. IV. CONCLUSION In view of the above results of the DMA source code, we can conclude that- • The system simulated by us functions as 8257 IC chip functions. • Based on results, we conclude that the simulated program implemented by us in VHDL is 8257 IC. • During the simulation the byte is transferred to CPU memory successfully. • We know that as the application of microprocessors in our technology intensive environment is increasing, so we have to develop practical skills in the areas of computer applications, networking, and interfacing. This project 8257 DMA using VHDL is based upon simulated test bench waveform analysis. After doing this project we are able to provide manufacturing details to fabricate the chip. REFERENCES [1] “The Practical Xilinx designer lab book”, Writer: David Van den Bout Published by Xilinx Corporation. [2] “A VHDL Primer”. Writer: J. BhaskarPublished by Pearson Education [3] “Programmable DMA Controller 8257”. Published by Intel.