Chipscope pro : timing constraint?

dear chip scope pro users

Problem with VIO occurred in ChipScope Pro, ISE6.3.

i am (still -: ) exercising VIO,IlA with "asynchronous reset, asynchronous enable, 4 bit counter"

It works fine in ILA. That is the signal changes " 0 1 2 3 4 ...."

Problem is that, in VIO console, the signal behavior is not the same as ILA. That is the signal changes " 2 9 3 0 9 7 ...", which is unexpected.

I am not still sure that this behavior in VIO is problematic or not.

BTW, during implementation, following warnings occured. (1) and (3) seem to be okay to ignore, but (2) seems to be problematic.

Does anyone has this experience? Why the signal behavior in VIO is different from ILA?

---------------------------- (1)WARNING:Timing:2666 - Constraint ignored: PATH "FROM U_CLK TO D_CLK" TIG ; (2)WARNING:Timing:2665 - clk does not clock any primary output (3)WARNING:Timing:2666 - Constraint ignored: OFFSET = IN 5 nS BEFORE COMP "clk" ; All constraints were met.

----------------------------

############################ ### UCF file ############################ NET "clk" LOC = "AJ15"; NET "cnt" LOC = "AD13"; NET "cnt" LOC = "AD12"; NET "cnt" LOC = "AD11"; NET "cnt" LOC = "AD10"; NET "clk" TNM_NET = "clk"; TIMESPEC "TS_clk" = PERIOD "clk" 10ns HIGH 50 %; OFFSET = IN 5 ns BEFORE "clk"; OFFSET = OUT 6 ns AFTER "clk";

Reply to
Pasacco
Loading thread data ...

The VIO functionality and the ILA functionality are very different from each other.

The ILA core captures data for every clock edge and presents the data to the display when the buffer is full.

The VIO core allows you to insert control (inputs) and display sampled status (outputs) similar to using a bank of push buttons or switches for inputs or LEDs for outputs. There are arrows in the display for that indicate activity occurred between the sampled points, so if the previous value was 0 and the new value is 0 you can tell if blipped up to a one and back again.

What you describe sounds like a normal sampling of the data set with a free running counter.

Ed

Reply to
Ed McGettigan

Cycle accurate sampling can not be seen in VIO. That's was not a problematic one. Thankyou for comment.

BTW, in the code below, I can not see the expected behavior of signal 'counter' in ILA.

Problem is that I only see : 4 4 4 4 .........

When rst = 0, en = 1, the signal change "0 1 2 3 4 " should be seen in ILA waveform. But actually so signal change can be seen.

What is the problem? By the way, Is this problem?

Thankyou.

------------------------------------------------------------------------

-- Expected signal 'counter' behavior : 0 1 2 3 4 4 4 4 .....

------------------------------------------------------------------------ entity top is port ( clk : in std_logic; cnt : out std_logic_vector(3 downto 0) ); end top;

architecture behave of top is signal counter : std_logic_vector(3 downto 0):=(others=>'0');

signal rst, en: std_logic; -- In VIO, reset=0, enable=1

begin process(en,rst,clk,counter) begin if en='0' then counter '0'); elsif rst='1' then counter '0'); elsif counter

Reply to
Pasacco

Pasacco,

Your code is doing exactly what you asked it to do. Your IF statements do this.

1) If en=0 then count=0 2) If rst=1 then count=0 3) If count < 3 then count = count + 1 4) Else nothing

So when count=4 that's the end of the game.

Ed

Pasacco wrote:

Reply to
Ed McGettigan

Yes, it is correct.

In ILA, we can see the transition of the signal in a cycle accurate manner.

BTW, What I want to see in ILA , in the example above, is

'counter' signal change (0 -> 1 -> 2 -> 3 -> 4 ) part.

Those transitions occur during the first 4 clock cycles, after (rst='0' and en='1').

In my exercise, I do not see them. I only see the value '4', whih is the last value.

Is it possible to see, in ILA, those signal transition behaviors in the example above?

Reply to
Pasacco

I don't understand what you are looking for or what problem you are having. You will need to explain it better for me to be able to help you.

Also after reviewing your VHDL code again it is not written in the standard way to define a registered counter and I am not sure what would actually be synthesized in the design.

Specifically, you have any asynchronous comparison function (counter

Reply to
Ed McGettigan

Yikes ... I don't know what the synthesis tool will do, but I suspect it won't do what you want! Did you get any synthesis warnings? Did you read the synthesis manual?

-a

Reply to
Andy Peters

Hi

According to synthesis/implementation report, there is no indication that the clock is gated.

This example is just an exercise. My intention is just to make the value of an internal signal 'counter' change " 0->1->2->3->4" and see that in ChipScope Pro.

Problem is that the ILA core captures only static value '4', even though 'RST' and 'EN' signal are driven by VIO "on the fly".

If it is possible to see the change of the value, instead of a static value, I am doing something wrong. What am I missing?

Thankyou.

Reply to
Pasacco

You sent me more information on this in email and added another note here. Try doing this.

1) In the ILA window change the trigger condition to a falling edge transition of the RESET line instead of the static low that you have now. 2) In the VIO window pulse the RESET button

3) Go back to the ILA window and you should see 0, 1, 2, 3, 4, 4, 4, 4...

Ed

Reply to
Ed McGettigan

Hi

Falling edge trigger, and now it works. Thankyou for nice comment and correction.

With gratitude

Reply to
Pasacco

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.