Skip to content

ODIN_II: Add basic task support #933

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 28, 2019

Conversation

j-b-1-7
Copy link
Contributor

@j-b-1-7 j-b-1-7 commented Aug 21, 2019

Description

This PR will add basic support for tasks. Odin II will now be able to parse and process verilog files containing basic implementations of tasks. Can support multiple instances of the same task, or have multiple tasks defined and instantiated by the module. Can parse automatic tasks and functions, but these are not yet handled. Updated function_statement in the bison to prevent things that functions cannot do from passing through. Added support for unconnected ports in module instances.

How Has This Been Tested?

Odin pre-commit
Created new verilog files for tests. I have added three equivalent test cases, simple_task.v, which uses a task, simple_function.v, which uses a function, and simple_module.v, which uses a module, all of which implement the same circuit as the existing verilog test file in operators, twobit_arithmetic_plus.v. All four of these verilog files give the same output blif. These files can also be used in the future, if changes are made to how Odin II handles either module instances, function instances, or task instances, we will be able to use these to ensure the output of all four still yields the same result

Types of changes

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed

@probot-autolabeler probot-autolabeler bot added lang-cpp C/C++ code lang-hdl Hardware Description Language (Verilog/VHDL) Odin Odin II Logic Synthesis Tool: Unsorted item tests labels Aug 21, 2019
@j-b-1-7 j-b-1-7 force-pushed the odin_basic_task_support branch 3 times, most recently from b425052 to 841f555 Compare August 22, 2019 16:44
@jeanlego
Copy link
Contributor

jeanlego commented Aug 26, 2019

looks like the last PR created some merge conflict.
once those are resolved, could you do a quick review? @ademmings

thanks

@j-b-1-7 j-b-1-7 force-pushed the odin_basic_task_support branch 3 times, most recently from 73c3f5c to 94414eb Compare August 27, 2019 15:58
@j-b-1-7
Copy link
Contributor Author

j-b-1-7 commented Aug 27, 2019

Merge conflicts are resolved, should now be ready for review

@j-b-1-7 j-b-1-7 force-pushed the odin_basic_task_support branch 2 times, most recently from dd3dddd to b9147f3 Compare August 28, 2019 18:53
@j-b-1-7 j-b-1-7 force-pushed the odin_basic_task_support branch from b9147f3 to c6422ed Compare August 28, 2019 18:57
@jeanlego jeanlego merged commit 771be2c into verilog-to-routing:master Aug 28, 2019
@jeanlego jeanlego deleted the odin_basic_task_support branch August 28, 2019 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-cpp C/C++ code lang-hdl Hardware Description Language (Verilog/VHDL) Odin Odin II Logic Synthesis Tool: Unsorted item tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants