UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer john
Observer
598 Views
Registered: ‎05-17-2018

Unconnected net in RTL schematic

Jump to solution

Hi, I often have a problem with the RTL schematics of mealy FSMs, such as the simple one described in the following example:

process(clk)
begin
	if rising_edge(clk) then
		case state is

			when idle =>
				counter <= counter + 1;
				if counter = 2 then
					state <= read_val;
				end if;

			when read_val =>
				counter <= counter + 1;
				if counter = 15 then
					state <= next_val;
					counter <= 0;
				end if;

			when next_val =>
				state <= idle;

		end case;
	end if;
end process;

process(state)
begin

	case state is

		when read_val =>
			buff_wr <= '1';

		when others =>
			buff_wr <= '0';

	end case;
end process;

In short, I have tree states with state transitions determined by a counter, and "buff_wr" signal used to enable a FIFO. In this example buff_wr should be '1' only during the read_val state.

In the resulting RTL schematic the buff_wr signal, while properly generated, is not connected to the fifo (event_ff), which have its wr_en signal tied to ground.

RTL_sch.pngRTL Schematic 

I don't get any errors or warnings during synthesis and the synthesis schematics looks correct:

synth_sch.pngSynth schematic

Looking around I found some posts reporting a similar behaviour in the older ISE toolchain (apparently caused by a bug), but I was not able to find any similar reports for vivado (I'm using the 2018.2 version). So I was wondering If there was something wrong with my codestyle, since I often see similar issues with signals generated by asychronous processes.

I should also add that the RTL schematic is generated properly if I remove the last state (next_val) and skip directly to idle.

 

Thank you for any help you can provide.

0 Kudos
1 Solution

Accepted Solutions
Observer john
Observer
169 Views
Registered: ‎05-17-2018

Re: Unconnected net in RTL schematic

Jump to solution

well, I updated to vivado 2019.1 this morning (coming from 2018.2) and I no longer have this issue. I'm guessing it was more some kind of bug of the RTL viewer than something wrong with the code.

0 Kudos
8 Replies
Moderator
Moderator
545 Views
Registered: ‎03-16-2017

Re: Unconnected net in RTL schematic

Jump to solution

Hi @john ,

Can you provide the full testcase and elaboration of your question in details to investigate this issue? 

I can see that buff_wr mux output is trimmed. But need to investigate it further.

Regards,
hemangd

Don't forget to give kudos and mark it as accepted solution if your issue gets resolved.
0 Kudos
Observer john
Observer
534 Views
Registered: ‎05-17-2018

Re: Unconnected net in RTL schematic

Jump to solution

Hi, not sure what you mean by full elaboration, I am attaching a simple testcase that fully reproduces the issue on my system.

0 Kudos
Moderator
Moderator
467 Views
Registered: ‎03-16-2017

Re: Unconnected net in RTL schematic

Jump to solution

Hi @john ,

I am addressing the main issue here which you are talking about that buff_wr output is unconnected and needs to be connected to wr_en in elaborated design. 

I have modified your RTL and made a single sequentlal block for FSM which resolves your above mentioned query. Code is attached here. Try it at your end.

Regards,
hemangd

Don't forget to give kudos and mark it as accepted solution if your issue gets resolved.
Observer john
Observer
451 Views
Registered: ‎05-17-2018

Re: Unconnected net in RTL schematic

Jump to solution

Thank you for your answer. I know I can fix this problem by using a synchronous design, my doubt is why I get that result with an asynchronous process, especially since it seems that I get the correct result after synthesis.

0 Kudos
Moderator
Moderator
440 Views
Registered: ‎03-16-2017

Re: Unconnected net in RTL schematic

Jump to solution

Hi @john ,

>> it seems that I get the correct result after synthesis.

Are you able to see buff_wr in synthesized design? Is your functionality correct in post synthesis simulation? 

 

Because, It is visible with synchronous design, single synchronous block as shown below. 

buff_wr.JPG 

 

Regards,
hemangd

Don't forget to give kudos and mark it as accepted solution if your issue gets resolved.
0 Kudos
Observer john
Observer
417 Views
Registered: ‎05-17-2018

Re: Unconnected net in RTL schematic

Jump to solution

yes, as also shown in the second picture in the first post I can see the signal in the synthesized design. It also behaves properly in the post synth simlation. It's not connected only in the RTL schematic.

0 Kudos
Observer john
Observer
170 Views
Registered: ‎05-17-2018

Re: Unconnected net in RTL schematic

Jump to solution

well, I updated to vivado 2019.1 this morning (coming from 2018.2) and I no longer have this issue. I'm guessing it was more some kind of bug of the RTL viewer than something wrong with the code.

0 Kudos
Xilinx Employee
Xilinx Employee
145 Views
Registered: ‎05-14-2008

Re: Unconnected net in RTL schematic

Jump to solution

Please accept your own answer as solution to close this thread.

Thanks

-vivian

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 Kudos