Fix bitmask merging in synthesis.

A conditional clause that doesn't drive any bits of a particular nexus
should not affect the bitmask generated for that nexus. The completely
undriven case is handled by the enable signal.
This commit is contained in:
Martin Whitaker 2016-03-11 17:32:12 +00:00
parent 6a8303bdaf
commit c1c4d8c863
1 changed files with 2 additions and 2 deletions

View File

@ -165,10 +165,10 @@ static void merge_sequential_masks(NetProc::mask_t&top_mask, NetProc::mask_t&sub
static void merge_parallel_masks(NetProc::mask_t&top_mask, NetProc::mask_t&sub_mask)
{
if (top_mask.size() == 0)
if (sub_mask.size() == 0)
return;
if (sub_mask.size() == 0) {
if (top_mask.size() == 0) {
top_mask = sub_mask;
return;
}