cpc / openasip

Open Application-Specific Instruction Set processor tools (OpenASIP)
http://openasip.org
Other
138 stars 41 forks source link

An opinion #242

Closed claubersouza closed 9 months ago

claubersouza commented 9 months ago

The main proposal for my doctoral dissertation is to be able to select a certain algorithm snippet to generate a custom ISA. The idea is to create a VSCode extension to automate the process.

The process steps:

Code Analysis

The objective of this section is to develop or integrate a code analysis mechanism that can identify C language code patterns and extract relevant information for the creation of ISA instructions. This may include identifying mathematical operations, flow control, memory access, etc.

  1. The "Code Analysis" stage is often one of the most complex parts of projects like this. Code analysis involves understanding and interpreting source code, identifying relevant patterns and structures, isolating semantic information, and then translating that information into instructions for a custom ISA. This stage may involve:
  1. ISA Design: Based on code analysis, you must create an instruction design that is efficient and suitable for the identified operations. This may involve defining new instructions or adapting existing instructions.
  2. Assembly Code Generation: Your extension must be able to generate assembly code corresponding to the ISA instructions you defined.
    1. Integration with OpenASIP: as a basis for creating the ISA, it will be necessary to integrate the extension with the tool. This may involve generating VHDL descriptions for the new processor core.
  3. User Interface (UI): Develop a friendly user interface within VSCode that allows users to select code snippets and begin the ISA creation process.

Expected Final Result, automatically generate the new ISA within the VSCode IDE

I would like to know your opinion on whether my proposal is interesting.