Author Topic: Port pins missing in Debug net list  (Read 3388 times)

0 Members and 1 Guest are viewing this topic.

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Port pins missing in Debug net list
« on: November 14, 2023, 04:03:20 am »
I have this module with a 256 bit width port, but I see only 1 bit port in the Debug net list. Can anyone help?
Code: [Select]
module test (
     input              aclk
    ,output reg [255:0] responce_tdata = 0
    );
       
always @(posedge aclk) begin
    responce_tdata <= 256'h1111111111111111111111111111111111111111111111111111111111111111; 
end
     
endmodule
« Last Edit: November 14, 2023, 08:40:14 am by notooth »
 

Online Someone

  • Super Contributor
  • ***
  • Posts: 5005
  • Country: au
    • send complaints here
Re: Port pins missing in Debug net list
« Reply #1 on: November 15, 2023, 01:03:27 am »
Read the synthesis report (assuming you are adding debug pre-implementation) it will explain why the signal has changed.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Port pins missing in Debug net list
« Reply #2 on: November 15, 2023, 01:17:53 am »
Because all 256 bits are the same value (either all 0 or all 1) they have been deduplicated down to a single net.
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8136
  • Country: ca
    • LinkedIn
Re: Port pins missing in Debug net list
« Reply #3 on: November 15, 2023, 01:45:12 am »
Which Debug net list?
Did you compile in something like Modelsim?  The entire net should be visible.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Port pins missing in Debug net list
« Reply #4 on: November 15, 2023, 03:18:41 am »
Ah, I misread that but it doesn't matter.  The zero bits are constant and can be eliminated entirely, only the bits that toggle need to exist at all, and they are all equal.
 

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Re: Port pins missing in Debug net list
« Reply #5 on: November 15, 2023, 04:08:29 am »
Read the synthesis report (assuming you are adding debug pre-implementation) it will explain why the signal has changed.

I do not see any info about the signal has changed.
 

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Re: Port pins missing in Debug net list
« Reply #6 on: November 15, 2023, 04:43:29 am »
Because all 256 bits are the same value (either all 0 or all 1) they have been deduplicated down to a single net.

Changing the value to 256'hfedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 did not fix the issue.
 

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Re: Port pins missing in Debug net list
« Reply #7 on: November 15, 2023, 04:44:50 am »
Which Debug net list?
Did you compile in something like Modelsim?  The entire net should be visible.

It is Vivado Debug Netlist.
 

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Re: Port pins missing in Debug net list
« Reply #8 on: November 15, 2023, 04:50:15 am »
It's probably the =0 at the end of the declaration.

output reg [255:0] responce_tdata = 0
should be
output reg [255:0] responce_tdata

It does not fix the issue.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Port pins missing in Debug net list
« Reply #9 on: November 15, 2023, 03:28:02 pm »
Because all 256 bits are the same value (either all 0 or all 1) they have been deduplicated down to a single net.

Changing the value to 256'hfedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 did not fix the issue.

Doesn't matter.  All the bits initialized to zero and then set to zero will be eliminated entirely, all the bits initialized to zero but assigned to one will be combined into a single signal during synthesis. 

Try making a counter.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Port pins missing in Debug net list
« Reply #10 on: November 15, 2023, 03:36:09 pm »
It's probably the =0 at the end of the declaration.

output reg [255:0] responce_tdata = 0
should be
output reg [255:0] responce_tdata

It does not fix the issue.

To be clear I don't think there is an issue except for your expectation.  The circuit you described only has one bit of unique information and the synthesizer has noted that and produced an equivalent netlist.
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Port pins missing in Debug net list
« Reply #11 on: November 15, 2023, 07:25:03 pm »
Have a look at addint the KEEP and DONT_TOUCH synthesis attributes.

They can ensure that things don't get optimized out.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline notoothTopic starter

  • Contributor
  • Posts: 20
  • Country: vn
Re: Port pins missing in Debug net list
« Reply #12 on: November 16, 2023, 02:28:27 pm »
I used DONT_TOUCH to keep all 256 bits of the port:
Code: [Select]
module test (
     input              aclk
    ,(* dont_touch = "yes" *) output reg [255:0] responce_tdata = 0
    );
       
always @(posedge aclk) begin
    responce_tdata <= 256'h1111111111111111111111111111111111111111111111111111111111111111;
end
     
endmodule

I can see the value 256'h1111111111111111111111111111111111111111111111111111111111111111 in the ILA window, but I got a different value when reading the XDMA c2h port which connected to it.
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Port pins missing in Debug net list
« Reply #13 on: November 17, 2023, 04:24:27 am »
Sounds like you have a new problem, one where us here have been given zero details.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Online Someone

  • Super Contributor
  • ***
  • Posts: 5005
  • Country: au
    • send complaints here
Re: Port pins missing in Debug net list
« Reply #14 on: November 17, 2023, 04:39:28 am »
Sounds like you have a new problem, one where us here have been given zero details.
This huge complex system will work if you spoon feed me the fix for this tiny problem....  wishful thinking.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Port pins missing in Debug net list
« Reply #15 on: November 17, 2023, 07:37:54 am »
Sounds like you have a new problem, one where us here have been given zero details.

Or the original problem remains and the optimized out signals were a red herring.  Either way there is no information.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf