Python Subset to Digital Logic Dataflow Compiler for Robots and IoT

Robots and IoT devices must process real-time signals using embedded systems with limited power and clock speeds - rather than large CPUs or GPUs. FPGAs offer highly parallel computation, but are difficult to program, both algorithmically and at hardware implementation level. Programmers of digital...

Full description

Saved in:
Bibliographic Details
Published inIEEE ... International Conference on Trust, Security and Privacy in Computing and Communications (Online) pp. 1893 - 1899
Main Authors Jurkans, Kristaps, Fox, Charles
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.11.2023
Subjects
Online AccessGet full text
ISSN2324-9013
DOI10.1109/TrustCom60117.2023.00257

Cover

Abstract Robots and IoT devices must process real-time signals using embedded systems with limited power and clock speeds - rather than large CPUs or GPUs. FPGAs offer highly parallel computation, but are difficult to program, both algorithmically and at hardware implementation level. Programmers of digital signal processing (DSP), machine vision, and neural networks typically work in high level, serial languages such as Python, so would benefit from a tool to automatically convert this code to run on FPGA. We present a design for a compiler from a serial Python subset to parallel dataflow FPGA, in which the physical connectivity and dataflow of the digital logic mirrors the logical dataflow of the programs. The subset removes some imperative features from Python and focuses on Python's functional programming elements, which can be more easily compiled into physical digital logic implementations of dataflows. Some imperative features are retained but interpreted under alternative functional semantics, making them easier to parallelize. These dataflows can then be pipelined for efficient continuous real-time data processing. An open-source partial implementation is provided together with a compilable simple neuron program.
AbstractList Robots and IoT devices must process real-time signals using embedded systems with limited power and clock speeds - rather than large CPUs or GPUs. FPGAs offer highly parallel computation, but are difficult to program, both algorithmically and at hardware implementation level. Programmers of digital signal processing (DSP), machine vision, and neural networks typically work in high level, serial languages such as Python, so would benefit from a tool to automatically convert this code to run on FPGA. We present a design for a compiler from a serial Python subset to parallel dataflow FPGA, in which the physical connectivity and dataflow of the digital logic mirrors the logical dataflow of the programs. The subset removes some imperative features from Python and focuses on Python's functional programming elements, which can be more easily compiled into physical digital logic implementations of dataflows. Some imperative features are retained but interpreted under alternative functional semantics, making them easier to parallelize. These dataflows can then be pipelined for efficient continuous real-time data processing. An open-source partial implementation is provided together with a compilable simple neuron program.
Author Jurkans, Kristaps
Fox, Charles
Author_xml – sequence: 1
  givenname: Kristaps
  surname: Jurkans
  fullname: Jurkans, Kristaps
  email: 19701672@students.lincoln.ac.uk
  organization: University of Lincoln,School of Computer Science,UK
– sequence: 2
  givenname: Charles
  surname: Fox
  fullname: Fox, Charles
  email: chfox@lincoln.ac.uk
  organization: University of Lincoln,School of Computer Science,UK
BookMark eNotzctKAzEUgOEoCtbaN3CRF5h6Ts7ktpSpl0JB0bouSZOpkemkzKRI315BV__u-6_ZRZ_7yBhHmCOCvVsPx7E0ea8AUc8FCJoDCKnP2Mxqa0gCGbSWztlEkKgrC0hXbDaOXwBAAmo0csKa11P5zD1_P_oxFl4yX6RdKq7jq7xLW75wxbVd_ua_p0Pq4sDbPPC37HMZuesDX-b1DbtsXTfG2X-n7OPxYd08V6uXp2Vzv6oSUl0q51og2CKEGFy0RoMPGqPe1grJG4heKVBeoRUmoBRKyqBb0lZrF1rvaMpu_9wUY9wchrR3w2mDIMlYTfQDI6FPCA
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/TrustCom60117.2023.00257
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350381993
EISSN 2324-9013
EndPage 1899
ExternalDocumentID 10538973
Genre orig-research
GroupedDBID 6IE
6IF
6IL
6IN
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
OCL
RIE
RIL
ID FETCH-LOGICAL-i134t-aaf030c10dedae9870bd71e7c4613b80eb6606b61928d152655d7f37977adfba3
IEDL.DBID RIE
IngestDate Wed Aug 27 02:04:47 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i134t-aaf030c10dedae9870bd71e7c4613b80eb6606b61928d152655d7f37977adfba3
PageCount 7
ParticipantIDs ieee_primary_10538973
PublicationCentury 2000
PublicationDate 2023-Nov.-1
PublicationDateYYYYMMDD 2023-11-01
PublicationDate_xml – month: 11
  year: 2023
  text: 2023-Nov.-1
  day: 01
PublicationDecade 2020
PublicationTitle IEEE ... International Conference on Trust, Security and Privacy in Computing and Communications (Online)
PublicationTitleAbbrev TRUSTCOM
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0003204185
Score 1.8588785
Snippet Robots and IoT devices must process real-time signals using embedded systems with limited power and clock speeds - rather than large CPUs or GPUs. FPGAs offer...
SourceID ieee
SourceType Publisher
StartPage 1893
SubjectTerms Digital signal processing
Internet of Things
Program processors
Real-time systems
Security
Semantics
Signal processing algorithms
Title Python Subset to Digital Logic Dataflow Compiler for Robots and IoT
URI https://ieeexplore.ieee.org/document/10538973
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3LSgMxFA22K1f1UfFNFm4zZl7JZN1aqmAp0kJ3Ja-RIkykpoh-vbkznYqC4G4YJhASTu7NnXvOQeim0LHJleCkpNqQLNaaqPAhCel-wrRUktYSG48TNp5nD4t8sSWr11wYa23dfGYjeKz_5RunN1AqCwgP8BQ87aAOL1hD1toVVNKEghBL261Dxe0MWAsBVgx0zyLwCYfySf7TSKWOI6MemrQzaNpHXqKNV5H-_CXO-O8pHqD-N2UPT3fB6BDt2eoI9VrPBryF8DEaTD9ALQDDgWE99g4PV89gHILBdVnjoQQ_X_eOYWg4MdY4ZLX4ySnn37CsDL53sz6aj-5mgzHZGimQVZxmnkhZBizrmBprpBUBosrw2HKdhWCuCmoVC_cYBXepwsQgmJ8bXqY85IbSlEqmJ6hbucqeImyKUoicJkbrJFMmVQx4fMLakNdkBZNnqA-LsnxttDKW7Xqc__H-Au3DxjTsvkvU9euNvQph3qvrenu_AN4FqCU
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEB60HvRUHxXf7sFrYh6b17m1tNqWIin0VvYVESErdYvor3cnaSoKgrcQsrDs8u3MTub7PoCbVPgy4lniFJ6QDvWFcLj90LHpfhALxplXSWyMJ_FgRu_n0XxNVq-4MEqpqvlMufhY_cuXWqywVGYRbuGZJeE27ESU0qima21KKmHgoRRL06_jZbc58hYssGJUPnPRKRwLKNFPK5UqkvTbMGnmUDeQvLgrw13x-Uue8d-T3IfON2mPTDfh6AC2VHkI7ca1gaxBfATd6QfqBRA8MpQhRpPe8xNahxD0XRakx9DRV78THGrPjCWxeS151FybN8JKSYY678Csf5d3B87aSsF59kNqHMYKi2bhe1JJpjILUi4TXyWC2nDOU0_x2N5kON6mUumjZH4kkyJMbHbIZMFZeAytUpfqBIhMiyyLvEAKEVAuQx4jky9TymY2NI3ZKXRwURavtVrGolmPsz_eX8PuIB-PFqPh5OEc9nCTaq7fBbTMcqUubdA3_Kra6i_dDqty
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=IEEE+...+International+Conference+on+Trust%2C+Security+and+Privacy+in+Computing+and+Communications+%28Online%29&rft.atitle=Python+Subset+to+Digital+Logic+Dataflow+Compiler+for+Robots+and+IoT&rft.au=Jurkans%2C+Kristaps&rft.au=Fox%2C+Charles&rft.date=2023-11-01&rft.pub=IEEE&rft.eissn=2324-9013&rft.spage=1893&rft.epage=1899&rft_id=info:doi/10.1109%2FTrustCom60117.2023.00257&rft.externalDocID=10538973