ELE00146M Coursework Assignment 2024/5

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

ELE00146M Coursework Assignment 2024/5

1. Tasks

You are required to modify the code developed during the laboratory sessions.  The assignment comprises of two parts:

Part A

You must develop your own custom peripheral on FPGA and aMach it to the embedded ARM processor on the Xilinx ZYNQ SoC via the AXI bus.  The task is to implement an image filter (a convoluWon operaWon) in programmable logic.  You may choose to implement any filter you like, but you must include the following features and funcWonality:

•   The filter should be 3x3, 5x5, or 7x7 in size.

•    Filter coefficients are stored within the peripheral.

•    Image data is wriMen to the peripheral, and filtered image data is read from the peripheral.

•    Full source image must be stored in the memory of the embedded processor using PGM/PCM format.  It must be at least 512x512 pixels in size,

•   An algorithm wriMen in embedded C divides the image appropriately, sends it to the filter peripheral, reads filtered data back, and puts a filtered version of the full image back together.

•   Send the filtered image to the PC and display it alongside the original one.

To achieve full marks, you are required to implement at least one of the following advanced features.  For example, to make your design more useful or increase its performance, you may choose from:

•    Moving more of the funcWonality from so`ware to hardware.

•   Adding FIFOs to improve throughput of data in your peripheral.

•    Making the filter funcWon programmable.

•    Making the filter size programmable.

Part B

You must establish serial communicaWon between the Xilinx ZYNQ SoC on the ZedBoard and the ARM M4    Processor on the STM32 Nucleo-64 board and use the 8x8 LED matrix to display data from the ZYNQ SoC in real Wme.  You must include the following funcWonality:

•   Connect ZYNQ SoC with ARM M4 via SPI interface.

•   Write embedded C code that sends a stream of variable data to the ARM M4.  You may generate that data on the embedded processor of the ZYNQ SoC, but to achieve full marks, data must be   output data from your own custom peripheral from Part A.

•    Display the data on the 8x8 LED matrix in real Wme, i.e., using Wmer- and interrupt-driven system from the laboratory sessions.

ImplementaWon details, design choices, and advanced features of part A and part B are enWrely up to you, but you must ensure to have working code, and to follow coding standards producing readable, clearly

structured, commented code.

2. Submission

For Part A, you must submit:

•   A technical datasheet of your own custom peripheral.  It should contain key features and parameters of your peripheral, a brief descripWon of its funcWon, a documentaWon of its control and data registers, and an example use case.  Aim to structure it like one of the Xilinx IP datasheets, contain text and diagrams as appropriate, and it must not exceed two A4 pages, using 12pt Arial, HelveWca, Calibri, or Times font.

•   A technical report describing the development process of your peripheral, including features, design choices, performance, and test methods used.  The report should also contain a brief secWon on the image filtering use case, describing what the applicaWon does, the type of filter you have used, how it is implemented, tested, and showing some examples of original vs filtered images.  Aim to make   the technical report no longer than 1,500 words and include meaningful diagrams and illustraWons.  If you are unsure about aspects of the report, please ask.

For Part B, you must submit:

•   A short video of no more than 30 seconds, showing how you power on the hardware, run an example on your system, and what is displayed on the 8x8 LED matrix.

You must also submit your code, being careful to upload all files that you have created or modified, and that are necessary to run your projects.  The easiest way to do this is to submit a ZIP archive of your project folder.  However, before you do that, make sure to run “Clean project” funcWons in all design tools, to keep the size down.  Temporarily created files are not required.  Make sure to anonymise the filenames by renaming them appropriately.

3. Guidance

Tips and resources for implemenWng each of the requested features will be discussed in lectures, workshops, and laboratory sessions, to give you starWng points.

4. Marking

Marks will be awarded for:

•    Design features implemented.

•    EffecWve, readable, commented code.

•    Good use of funcWons, refactored code, and IP.

•    Correct use of coding constructs (define, const, volaWle).

•   Sensible use of datatypes and data structures (arrays, Xuint, pointers).

•    Efficient use of CPU Wme, using Wmers, interrupts, loops, funcWons where possible.

•    Report structure, presentaWon, and readability

Please note that the mark scheme is based on the quality of the submiMed work, on the assumpWon that it is complete and contains at least the features specified in SecWon 1. If you do not implement all the essenWal features and at least the minimum number of opWonal features, penalWes will be applied.

IndicaWve mark breakdown (out of the overall course mark):

Item

Mark

Structure and presentaWon of datasheet and technical report

15%

Clarity and presentaWon of the short video

5%

Design choices and details

25%

EffecWveness and details of implementaWon

25%

Coding standard, clarity, structure, commenWng

10%

发表评论

电子邮件地址不会被公开。 必填项已用*标注