Skip to content
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

TLBusWrapper: for internal wire name stability, genericize inner coupler port name #2515

Merged
merged 1 commit into from
Jun 16, 2020

Conversation

hcook
Copy link
Member

@hcook hcook commented Jun 11, 2020

Auto-generated signal names for diplomatically punched wires can contain the name of the node to which they are connected. While this behavior is informative in some cases, in other cases it represents a "leak" in terms of the contents of a child module becoming visible to a parent scope. One common case of this undesirable aspect of the behavior is the point at which TLBusWrapper "coupler scopes" are connected to the crossbar module within the BusWrapper. The child scope is usually productively named after the device it is connected to, and there is no added value in the specific adapters that happen to be used inside a particular coupler configuration being made apparent via the wire names internal to the wrapper, it's just another source of possible verilog diff mismatches across versions, or between configurations when e.g. a particular kind of clock crossing is inserted (or not).

Instead, we now just ensure that the signal name prefix for such connections is always tl. See examples below.

Type of change: other enhancement

Impact: change to some internal verilog signal names

Development Phase: implementation

Some Representative Verilog diffs

<<< before >>> after
<   assign coupler_from_debug_sb_auto_widget_out_a_ready = subsystem_fbus_xbar_auto_in_0_a_ready; 
<   assign coupler_from_debug_sb_auto_widget_out_d_valid = subsystem_fbus_xbar_auto_in_0_d_valid; 
<   assign coupler_from_debug_sb_auto_widget_out_d_bits_opcode = subsystem_fbus_xbar_auto_in_0_d_bits_opcode; 
<   assign coupler_from_debug_sb_auto_widget_out_d_bits_param = subsystem_fbus_xbar_auto_in_0_d_bits_param; 
---
>   assign coupler_from_debug_sb_auto_tl_out_a_ready = subsystem_fbus_xbar_auto_in_0_a_ready; 
>   assign coupler_from_debug_sb_auto_tl_out_d_valid = subsystem_fbus_xbar_auto_in_0_d_valid; 
>   assign coupler_from_debug_sb_auto_tl_out_d_bits_opcode = subsystem_fbus_xbar_auto_in_0_d_bits_opcode; 
>   assign coupler_from_debug_sb_auto_tl_out_d_bits_param = subsystem_fbus_xbar_auto_in_0_d_bits_param; 
====
<   wire  coupler_to_debug_auto_fragmenter_in_a_ready; 
<   wire  coupler_to_debug_auto_fragmenter_in_a_valid; 
---
>   wire  coupler_to_debug_auto_tl_in_a_ready; 
>   wire  coupler_to_debug_auto_tl_in_a_valid; 
====
<   assign out_xbar_auto_out_1_d_bits_source = coupler_to_plic_auto_fragmenter_in_d_bits_source; 
<   assign out_xbar_auto_out_1_d_bits_data = coupler_to_plic_auto_fragmenter_in_d_bits_data; 
---
>   assign out_xbar_auto_out_1_d_bits_source = coupler_to_plic_auto_tl_in_d_bits_source; 
>   assign out_xbar_auto_out_1_d_bits_data = coupler_to_plic_auto_tl_in_d_bits_data; 
====
<   assign coupler_to_tile_auto_rsource_in_a_valid = out_xbar_auto_out_4_a_valid; 
<   assign coupler_to_tile_auto_rsource_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; 
---
>   assign coupler_to_tile_auto_tl_in_a_valid = out_xbar_auto_out_4_a_valid; 
>   assign coupler_to_tile_auto_tl_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; 

@hcook hcook requested review from mwachs5 and azidar June 11, 2020 20:13
@hcook hcook changed the title TLBusWrapper: for stability, genericize inner coupler port name TLBusWrapper: for internal wire name stability, genericize inner coupler port name Jun 12, 2020
@hcook hcook requested a review from jackkoenig June 12, 2020 19:45
Copy link
Contributor

@jackkoenig jackkoenig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the good description and example!

@hcook hcook merged commit c51a781 into master Jun 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants