Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Lookup table optimization for programming languages that target synchronous digital circuits

A technology of synchronous numbers and look-up tables, applied in visual/graphic programming, CAD circuit design, text database query, etc., can solve the problems of poor execution, wrong execution of electronic circuits, time-consuming, etc., and achieve the effect of wide optimization range

Pending Publication Date: 2021-08-20
MICROSOFT TECH LICENSING LLC
View PDF0 Cites 1 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Even for hardware engineers who are very familiar with HDL, creating this kind of code is very time consuming
Also, the more lines of code there are in the design, the more likely the design contains bugs or performs poorly
[0003] Because HDLs typically utilize a different programming paradigm than imperative programming languages, it is often difficult for software engineers not very familiar with HDLs to take advantage of these languages
As a result, electronic circuits generated from HDL created by software engineers may also contain errors or perform poorly

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Lookup table optimization for programming languages that target synchronous digital circuits
  • Lookup table optimization for programming languages that target synchronous digital circuits
  • Lookup table optimization for programming languages that target synchronous digital circuits

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0025] The following detailed description is directed to high-level languages ​​and compilers that optimize the use of LUTs. As discussed briefly above, embodiments of the technology disclosed herein reduce the SDC area, the number of pipeline stages, the number of registers used to pass data between pipeline stages, and the number of clock cycles used to execute a given computational expression . These technical advantages are realized by reducing the number of LUTs, clock cycles, and registers used to perform a given function. Other technical benefits not specifically mentioned herein may also be realized by implementations of the disclosed subject matter.

[0026] Although the subject matter described herein is presented in the general context of an SDC executing on a personal computer, those skilled in the art will appreciate that other implementations can be implemented in conjunction with other types of computing systems and modules. Those skilled in the art will also ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A programming language and a compiler are disclosed that optimize the use of look-up tables (LUTs) on a synchronous digital circuit (SDC) such as a field programmable gate array (FPGA) that has been programmed. LUTs are optimized by merging multiple computational operations into the same LUT. A compiler parses source code into an intermediate representation (IR). Each node of the IR that represents an operator (e.g. '&', '+') is mapped to a LUT that implements that operator. The compiler iteratively traverses the IR, merging adjacent LUTs into a LUT that performs both operations and performing input removal optimizations. Additional operators may be merged into a merged LUT until all the LUT's inputs are assigned. Pipeline stages are then generated based on merged LUTs, and an SDC is programmed based on the pipeline and the merged LUT.

Description

Background technique [0001] A Hardware Description Language ("HDL") is a modeling language used by hardware engineers to describe the structure and behavior of electronic circuits, most of which are typically digital logic circuits. Examples of HDLs include Very High Speed ​​Integrated Circuit ("VHSIC") HDL and VERILOG. [0002] HDL typically requires many lines of code to simulate digital logic circuits. Even for hardware engineers who are very familiar with HDL, creating this kind of code is very time consuming. Furthermore, the more lines of code there are in a design, the more likely the design contains bugs or performs poorly. [0003] Because HDLs typically utilize a different programming paradigm than imperative programming languages, it is often difficult for software engineers not very familiar with HDLs to take advantage of these languages. As a result, electronic circuits generated from HDL created by software engineers may also contain errors or perform poorly. ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F30/34G06F7/14
CPCG06F30/34G06F7/14G06F30/343G06F30/323G06F2117/08G06F16/9017G06F8/427G06F8/41G06F16/33G06F8/443G06F8/34G06F16/2455G06F16/245
Inventor B·D·佩尔顿A·M·考尔菲尔德
Owner MICROSOFT TECH LICENSING LLC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products