Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Use of FPGA in reading/writing a hard drive

Status
Not open for further replies.

Lith1um

Newbie level 4
Joined
Feb 12, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
45
Hi there,

I'm trying to find out why an fpga is required for reading and writing to/from a hard drive but can't find anything online about it (maybe I'm bad at using google). If anyone could explain it to me or point me in the direction of a webpage or article that does so that would be great.

Thanks
 

It's surely not generally required. To know why it's used in a specific circuit, you should tell a bit more about the application.
 

I'm using a beaglebone board to perform read/write operations to both PATA and SATA hard drives for a project and have been told to use an FPGA board to provide the interfacing between the beaglebone and drive but I don't know what the purpose of the FPGA is.
 

PATA is just a parallel port and won't require a specific interface. SATA needs a specific interface, my first choice would be a dedicated PATA to SATA bridge chip, respectively a plugin adaptor board.

A programmable logic device (e.g. FPGA) might be a useful solution if the processor hasn't sufficient GPIO pins to connect the 16 bit PATA interface. A small CPLD can usually do the job.

I don't know how the said design does connect to the Beaglebone. My first guess would be that you can connect a PATA drive via GPIO pins directly.

The standard Beaglebone mass storage interface goes through USB, I presume.
 

if this helps to explain the task at all, here is the project outline:

The interface to hard disks is well documented and it is, therefore, relatively easy to create a logic circuit to create such an interface for an embedded system. In the research group an adapter board for the Beaglebone has been created that features (amongst other things) a modern FPGA circuit. The project will create an interface consisting of VHDL or Verilog code which allows the Beaglebone processor to read and write from a hard disk. Initially the project will concentrate on the parallel (PATA) type hard disks before exploring the modern serial interface standard.
 

O.K. so the answer is, a FPGA is not required, it's one of several possible solutions. For SATA interface, a specific high speed serial interface will be required, only special FPGAs are able to handle SATA.

The SATA IP cores from most FPGA vendors also require an expensive license which makes it a rather questionable solution.
 

Ah ok I see, it does raise questions then as to why I am being asked to do this as a project so I will ask my supervisor tomorrow, thank you for your help though :)
 

FvM, I think you were looking at this from the wrong perspective. I think the instructor intends for the OP to build a PATA and later a SATA drive interface from scratch using the FPGA on the "research group an adapter board for the Beaglebone has been created that features (amongst other things) a modern FPGA circuit"

The project will create an interface consisting of VHDL or Verilog code which allows the Beaglebone processor to read and write from a hard disk. Initially the project will concentrate on the parallel (PATA) type hard disks before exploring the modern serial interface standard.
This is the statement that says write VHDL/Verilog to be a PATA/SATA drive interface controller. Using some off the shelf bridge part I think defeats the entire learning process for understanding how to build "glue logic interfaces" in FPGAs.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top