Skip to content

ODIN_DEBUG: Fix for [0:0] data width segmentation fault #460

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
Feb 23, 2019
Merged

ODIN_DEBUG: Fix for [0:0] data width segmentation fault #460

merged 1 commit into from
Feb 23, 2019

Conversation

hsoontie
Copy link
Contributor

WIP ODIN_DEBUG: Fix for [0:0] data width crash using SPR
SRC: netlist_create_from_ast.cpp

Signed-off-by: Hillary Soontiens [email protected]

Description

A function call to create a node's full name was fixed so that it would properly insert the end of the name in the case of a data width (port size) of 1.

Related Issue

The bug would cause a segmentation fault when specifying a data width of 1 in memory_controller.v and running it on odin_II.cpp. The issue seemed to arise because when using single-port-ram, certain input drivers could not be detected mid-synthesis.

Motivation and Context

Having a data width of 1 is a valid special case.

How Has This Been Tested?

memory_controller.v was tested primarily, using data/address widths of 1/1, 2/1, 2/2 as well as other larger values.

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

WIP ODIN_DEBUG: Fix for [0:0] data width segmentation fault
SRC: netlist_create_from_ast.cpp

Signed-off-by: Hillary Soontiens <[email protected]>
@probot-autolabeler probot-autolabeler bot added lang-cpp C/C++ code Odin Odin II Logic Synthesis Tool: Unsorted item labels Feb 21, 2019
@jeanlego
Copy link
Contributor

jeanlego commented Feb 21, 2019

good catch!
both single port and dual port with data width of 1 work?

If you remove the WIP ill merge it!

@hsoontie
Copy link
Contributor Author

I tested DPR on its own just now and yes, I believe so! I can show you the output to confirm before merging.

@jeanlego
Copy link
Contributor

Make sure you run [path to vtr root directory]/ODIN_II/verify_odin.sh --test pre_commit

@jeanlego jeanlego changed the title WIP ODIN_DEBUG: Fix for [0:0] data width segmentation fault ODIN_DEBUG: Fix for [0:0] data width segmentation fault Feb 23, 2019
@jeanlego jeanlego merged commit ae4ce81 into verilog-to-routing:master Feb 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-cpp C/C++ code Odin Odin II Logic Synthesis Tool: Unsorted item
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants