- Home
-
Study
Study
Interested in studying at Northumbria? With 31,500 students, Northumbria is one of the largest universities in the country, offering courses on either a full-time, part-time or distance learning basis.
Studying at Northumbria-
Undergraduate
- Undergraduate Study Degree
- Undergraduate Open Day & Events
- Application Guides
- Northumbria University UCAS Exhibitions
- Foundation Years
- Undergraduate Fees & Funding
- School & College Outreach
- Continuing Professional Development
-
Postgraduate
- Postgraduate Study Degree
- Postgraduate Research Degrees
- Postgraduate Open Days and Events
- Postgraduate Fees & Funding
- Flexible Learning
- Thinking about a Masters?
- Continuing Professional Development
- Change Direction
-
Student Life
- The Hub - Student Blog
- Accommodation
- Life in Newcastle
- Support for Students
- Careers
- Information for Parents
- Students' Union
- Northumbria Sport
-
-
International
International
Northumbria’s global footprint touches every continent across the world, through our global partnerships across 17 institutions in 10 countries, to our 277,000 strong alumni community and 150 recruitment partners – we prepare our students for the challenges of tomorrow. Discover more about how to join Northumbria’s global family or our partnerships.
View our Global Footprint-
Applying to Northumbria
- European Union
- Our London Campus
- Northumbria Pathway
- International Events
- Entry Requirements
- Agent Network
-
Northumbria Language Centre
- Faculty Requirements
- Acceptable English Requirements
- Pre-Sessional English and Study Skills
- Academic Language Skills Programmes (ALS)
-
International Fees, Funding & Scholarships
- International Undergraduate Fees
- International Undergraduate Funding
- International Masters Fees
- International Masters Funding
- International Postgraduate Research Fees
- International Postgraduate Research Funding
- International Money Matters
-
Life at Northumbria
- International student support
- The Hub - Student Blog
- Careers
-
International Mobility
- Current Northumbria Students
- Incoming Exchange Students
-
-
Business
Business
The world is changing faster than ever before. The future is there to be won by organisations who find ways to turn today's possibilities into tomorrows competitive edge. In a connected world, collaboration can be the key to success.
More on our Business Services -
Research
Research
Northumbria is a research-rich, business-focused, professional university with a global reputation for academic quality. We conduct ground-breaking research that is responsive to the science & technology, health & well being, economic and social and arts & cultural needs for the communities
Discover more about our Research -
About Us
-
About Northumbria
- Our Vision
- Our Staff
- Our Partners
- Student Profiles
- Alumni Profiles
- Leadership & Governance
- Academic Departments
- University Services
- History of Northumbria
- Contact us
- Online Shop
-
-
Alumni
Alumni
Northumbria University is renowned for the calibre of its business-ready graduates. Our alumni network has over 233,000 graduates based in 177 countries worldwide in a range of sectors, our alumni are making a real impact on the world.
Our Alumni - Work For Us
What will I learn on this module?
This module aims to further develop your capabilities in the areas of digital systems by means of high-level languages including C/C++ and Python.
The module starts by introducing digital system design and an overview of HDL tools. The concept of HLS and its application in high-level engineering design problems are then introduced, and several comparisons are carried out to highlight the difference and benefits of HLS. C/C++ programming language is presented as the HLS tool and you are given an overview of different data types, arrays, loops, and conditions in C/C++. You will learn the implementation of both sequential and combinational circuits in HLS as well as the concept of testbench and will learn how to apply the concept of testbench to real-world problems and how to simulate the real devices and digital components in your testbench. Through examples, you also will learn about FSM and design hierarchy and the benefit of clean code in a project. The HLS section then continues with the topic of parallelism, IP, and synthesis and concludes by looking at other methods of programming FPGA including SystemC, OpenCL, LabVIEW, and Matlab.
You will also cover techniques and tools that help you with developing your HLS code including:
1- Simulation
2- Debugging
3- FSM design tool
4- C/C++ standard library
This part of the module comes with a set of workshops specifically arranged to teach you how to use designated tools for simulation and programming a FPGA device using C/C++.
Another section of the module is devoted to programming FPGA using Python language also known as Pynq technology. You will start by understanding SoC and Xilinx Zynq family architectures. Then you will learn the fundamental requirements of Python for FPGA programming such as commonly used keywords and package management. The structure of Pynq is covered and implementing Python code in Jupyter is then explained through several examples and you learn how to apply your acquired knowledge to real world problems. You then will be briefly introduced to topics including digital signal processing (DSP), artificial intelligence (AL), machine learning (ML), software defined radio (SDR), and their common and cutting-edge applications in daily life and industry. The section concludes with looking at concept of embedded ARM cores in FPGA and running operating system (OS) on SoC.
How will I learn on this module?
The module will be delivered via a combination of lectures, directed and independent learning and practical workshops as well as asynchronous pre-recorded videos.
Lectures will be used to deliver the key concepts, knowledge and understanding of HLS and Pynq technologies. Regular workshops in HLS and Pynq will provide them with the vital practical experience required to support hardware design concepts and develop the skills the students will need to successfully complete the assignment.
How will I be supported academically on this module?
All taught materials will be provided on the eLearning platform, including workshop exercises, past exam questions and examples. You will also have access to pre-recorded video of all topics and workshops. You will be encouraged to ask questions and fully engage during all contact sessions, including workshops.
What will I be expected to read on this module?
All modules at Northumbria include a range of reading materials that students are expected to engage with. The reading list for this module can be found at: http://readinglists.northumbria.ac.uk
(Reading List service online guide for academic staff this containing contact details for the Reading List team – http://library.northumbria.ac.uk/readinglists)
What will I be expected to achieve?
Knowledge & Understanding:
1. Applying appropriate codes of practice and industry standards; knowledge of the use of C/C++ language, Python, programmable logic development equipment, software packages, and simulation tools. (AHEP 4 M1, M3)
Intellectual / Professional skills & abilities:
2. Design, model, simulate, and implement a range of digital hardware sub-systems using C/C++ and Pynq. (AHEP 4 M5, M6)
Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA):
3. Doing group work to develop teamwork skills and promote collaboration; using practical workshops skills to investigate complex problems; providing the opportunity to innovate and show creativity by granting design freedom and research requirement within a solution approach (AHEP 4 M5, M16);
4. Awareness of environmental effect from high-power processing units and digital systems assessed in CW3 (M7)
How will I be assessed?
This module will be assessed as follows.
1- Coursework (CW): Project assignment 40% for LO1, LO2:
Here the students are asked to develop an HLS code to program a FPGA device to deliver a list of specifications as the project requirements.
2- Coursework (CW): Project assignment 40% for LO1, LO2:
Here the students are asked to develop a Python code to program a FPGA device to deliver a list of specifications as the project requirements.
3- Coursework (CW): Continuous group assignment 20% for LO1, LO2, LO3:
Here the students are given tasks during each workshop to consider and answer.
For assessments 1 and 2, the assignments are released in week 1 of module delivery with a deadline dictated by the university. The feedback is provided after approximately 3 weeks.
The schedule of assignment release and feedback on continuous assignments for a 12-week delivery is as follows:
Release: every workshop
Deadline: 2 weeks after each workshop
Feedback: after approximately 2 weeks
Pre-requisite(s)
None
Co-requisite(s)
None
Module abstract
In this module you will acquire knowledge of designing digital systems using high-level techniques. The module introduces high-level synthesis (HLS) to implement hardware description language (HDL) for FPGA chips. Using C/C++ programming language, you can bypass the gate-level and register-transfer level (RTL) code and build synthesizable logic blocks. Both combinational and sequential circuits will be covered and commonly used digital blocks such as multiplexer, demultiplexer, counter, shift register, memory block, stack, etc will be created using C/C++. The industry standard Xilinx Vivado/Vitis tools will be used to facilitate design, verification, and implementation of HLS code. You will also learn the benefit of using testbench, IP, and timing analysis to enhance the development procedure and efficiency. Additionally, you will be introduced to writing high-level codes to program FPGA in Python also known as Pynq technology. The concept of System on Chip (SoC) and Xilinx Zynq family are covered, and you will learn the fundamentals of Python language and Jupyter. The module also looks at finite state machine (FSM) and its HLS implementation as well as the concept of hierarchical design and clean code. Both C/C++ programming and Pynq lectures will be accompanied by designated workshop to give you the hands-on experience and knowledge of practical work.
Course info
Credits 20
Level of Study Postgraduate
Mode of Study 2 years full-time (with advanced practice in second year)
2 other options available
Department Mathematics, Physics and Electrical Engineering
Location City Campus, Northumbria University
City Newcastle
Start January 2024 or September 2024 or January 2025
Full time Courses starting in 2023 are primarily delivered via on-campus face to face learning but may include elements of online learning. We continue to monitor government and local authority guidance in relation to Covid-19 and we are ready and able to flex accordingly to ensure the health and safety of our students and staff.
Contact time is subject to increase or decrease in line with additional restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors, potentially to a full online offer, should further restrictions be deemed necessary in future. Our online activity will be delivered through Blackboard Ultra, enabling collaboration, connection and engagement with materials and people.
Current, Relevant and Inspiring
We continuously review and improve course content in consultation with our students and employers. To make sure we can inform you of any changes to your course register for updates on the course page.
Your Learning Experience
Find out about our distinctive approach at
www.northumbria.ac.uk/exp
Admissions Terms and Conditions
northumbria.ac.uk/terms
Fees and Funding
northumbria.ac.uk/fees
Admissions Policy
northumbria.ac.uk/adpolicy
Admissions Complaints Policy
northumbria.ac.uk/complaints