Simplifying developments for FPGAs
By means of The MathWorks' HDL coder and by creating a CameraLink Interface IPSimplifying developments for FPGAs
By means of The MathWorks' HDL coder and by creating a CameraLink Interface IPSamenvatting
When designing for FPGAs a lot of knowledge about hardware design and FPGA technology is required. In order to try and reduce the required knowledge, TNO researches two manners of simplifying that design process. One of which is OpenCL, the other is the HDL Coder from The MathWorks. A graduation project was set up to look into the HDL Coder. This software package was to be used to create hardware for a control system. After the control system was developed the hardware would have been tested on a demonstrator system.
The demonstrator system uses data from an image sensor (a camera) as input and from that it controls various actuators. To connect this camera to the system two protocols could be used. These are CoaXPress and CameraLink. Both need a way to connect to an FPGA. In order to achieve this, an electrical camera interface had to be ordered and the logical interface either ordered or developed. There are no companies that can deliver an interface for the CoaXPress that complies with the requirements of TNO. For the CameraLink interface this was no problem. Thus a CameraLink interface was developed.
The interface was created by ordering a card that converts logic levels and connectors. The logical interface was created in-house. The resulting hardware can now be used to connect a camera to the FPGA. The description has been made as generic as possible. This is done so it can be used with a lot of chips. The CameraLink protocol knows a lot of different configurations. Accommodating all the configurations requires a generic description.
For some parts of the logical interface using chip-specific components is the best option. This forced the HDL (hardware description language) code to be less generic. The chip-specific components are selected when needed. The same goes for the parts that are not used in some CameraLink configurations. This option is chosen over the creation of different files because of maintainability. When something should need to be changed, only one file needs editing and than mostly in one place.
The HDL Coder will be used to create the control system. This however is not done in this project as The MathWorks did not think they could provide sufficient support and thus refused to grant a license for the software. This means no system was created and only the development of the camera interface remained. Some research into the capabilities of the HDL Coder was done by means of documentation and questions sent to a user of the HDL Coder. It was found the HDL Coder, at this point in time, is not good enough for simplifying the development. This is mostly due to the fact that timing issues are not easily solved and the documentation of the HDL Coder is not good enough.
The hardware description for the CameraLink however was finished. It was proved to work with a camera transmitting a 2048 by 2048 image over CameraLink in mode base, two ten-bit pixels at a time.
Organisatie | De Haagse Hogeschool |
Opleiding | TIS Elektrotechniek |
Afdeling | Faculteit Technologie, Innovatie & Samenleving |
Partner | TNO |
Jaar | 2016 |
Type | Bachelor |
Taal | Engels |