Main Page | Report this Page
Computers Forum Index  »  Computer Architecture - FPGA  »  Chipscope with Verilog...
Page 1 of 1    

Chipscope with Verilog...

Author Message
maxascent...
Posted: Wed Oct 28, 2009 5:36 pm
Guest
I have a design with some level of hierarchy and I want to connect a
chipscope ILA core to the bottom level.

For example say I have 3 modules A, B and C with a signal temp in C.
Module A is the top level with B inside A and C inside B.
I would of thought that I could just do the following

chipscope_ila U_ila(
.CLK (clk),
.CONTROL (control),
.TRIG0 (A.B.C.temp));

The ila is in the top level and I want to monitor temp.
When I try and synthesize it with Synplify the program just errors.
Can anyone tell me what I am ddoing wrong?

Thanks

Jon

---------------------------------------
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com
 
sandbender...
Posted: Fri Oct 30, 2009 10:06 pm
Guest
Jon,

In the RTL there is not much you can do except add the signals to the
port list and bring them on up the hierarchy. Synthesis tools don't
support hierarchical references to nets. To do so they would have to
flatten the design hierarchy and it is not always wise to do that.

I usually just make a bus of all the signals in the child modules and
then route that up. If you use Xilinx's ChipScope insertion tool, then
this can do the work for you. The downside is that that tool is
terrible. In fact all the ChipScope tools are abysmal to use. I do
everything by hand and then only use the ChipScope analyzer tool. I
even name the signals by hand because the Xilinx tools are so bad. I
wish they would at least use a sane XML input format and document that
so we could just write scripts to feed the design information in. Even
better would be to publish the JTAG commands and let someone suck up
the information and stick it in a VCD file that could be read by your
favorite waveform viewer.

-Pete

On Oct 28, 6:36 am, "maxascent" <maxasc... at (no spam) yahoo.co.uk> wrote:
Quote:
I have a design with some level of hierarchy and I want to connect a
chipscope ILA core to the bottom level.

For example say I have 3 modules A, B and C with a signal temp in C.
Module A is the top level with B inside A and C inside B.
I would of thought that I could just do the following

chipscope_ila U_ila(
   .CLK     (clk),
   .CONTROL (control),
   .TRIG0   (A.B.C.temp));

The ila is in the top level and I want to monitor temp.
When I try and synthesize it with Synplify the program just errors.
Can anyone tell me what I am ddoing wrong?

Thanks

Jon        

---------------------------------------        
This message was sent using the comp.arch.fpga web interface onhttp://www..FPGARelated.com
 
Ed McGettigan...
Posted: Fri Oct 30, 2009 11:58 pm
Guest
On Oct 30, 3:06 pm, sandbender <p... at (no spam) coho.org> wrote:
Quote:
Jon,

In the RTL there is not much you can do except add the signals to the
port list and bring them on up the hierarchy. Synthesis tools don't
support hierarchical references to nets. To do so they would have to
flatten the design hierarchy and it is not always wise to do that.

I usually just make a bus of all the signals in the child modules and
then route that up. If you use Xilinx's ChipScope insertion tool, then
this can do the work for you. The downside is that that tool is
terrible. In fact all the ChipScope tools are abysmal to use. I do
everything by hand and then only use the ChipScope analyzer tool. I
even name the signals by hand because the Xilinx tools are so bad. I
wish they would at least use a sane XML input format and document that
so we could just write scripts to feed the design information in. Even
better would be to publish the JTAG commands and let someone suck up
the information and stick it in a VCD file that could be read by your
favorite waveform viewer.

-Pete

On Oct 28, 6:36 am, "maxascent" <maxasc... at (no spam) yahoo.co.uk> wrote:



I have a design with some level of hierarchy and I want to connect a
chipscope ILA core to the bottom level.

For example say I have 3 modules A, B and C with a signal temp in C.
Module A is the top level with B inside A and C inside B.
I would of thought that I could just do the following

chipscope_ila U_ila(
   .CLK     (clk),
   .CONTROL (control),
   .TRIG0   (A.B.C.temp));

The ila is in the top level and I want to monitor temp.
When I try and synthesize it with Synplify the program just errors.
Can anyone tell me what I am ddoing wrong?

Thanks

Jon        

---------------------------------------        
This message was sent using the comp.arch.fpga web interface onhttp://www.FPGARelated.com- Hide quoted text -

- Show quoted text -

It is not necessary to insert the ICON and ILA cores in your original
HDL. You can use the ChipScope Inserter to do this on your
synthesized design.

http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/chipscope_pro_sw_cores_11_1_ug029.pdf

Ed McGettigan
--
Xilinx Inc.
 
luudee...
Posted: Sat Oct 31, 2009 11:44 am
Guest
On Oct 28, 8:36 pm, "maxascent" <maxasc... at (no spam) yahoo.co.uk> wrote:
Quote:
I have a design with some level of hierarchy and I want to connect a
chipscope ILA core to the bottom level.

For example say I have 3 modules A, B and C with a signal temp in C.
Module A is the top level with B inside A and C inside B.
I would of thought that I could just do the following

chipscope_ila U_ila(
   .CLK     (clk),
   .CONTROL (control),
   .TRIG0   (A.B.C.temp));

The ila is in the top level and I want to monitor temp.
When I try and synthesize it with Synplify the program just errors.
Can anyone tell me what I am ddoing wrong?

Thanks

Jon        


Jon,

if all the signals you wish to monitor are inside the module C, than
it is easier to place both ICON and ILA inside that module and just
pass "temp" to ILA.

If you wish to monitor signals from other modules and perhaps the
top level, the best solution (as suggested by others) is to bring them
out to the highest level you want to monitor and place ICON and
ILA there. I too never use the tools, much faster and easier to do
it by hand.

Regards,
rudi
 
maxascent...
Posted: Sat Oct 31, 2009 12:53 pm
Guest
Hi

I have used the chipscope inserter before but I need a design with an ILA
and VIO core and the inserter doesnt support the VIO. If someone knows a
way of adding the VIO to a inserter design then that would be great. I dont
really like having to insert the ILA into the code because of the problem
of bringing all the signals out to the top level. I thought there may be an
easier way to do it but I guess not.

Jon

---------------------------------------
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com
 
Gabor...
Posted: Sat Oct 31, 2009 3:06 pm
Guest
On Oct 31, 10:45 am, "maxascent" <maxasc... at (no spam) yahoo.co.uk> wrote:
Quote:
The problem with having to insert the ila and icon in the hdl is that you
constantly have to bring the signals up to the top level, maybe through
many layers. It is easier to use the inserter but if you have a vio core
too you cant place it with the inserter.

Jon        

---------------------------------------        
This message was sent using the comp.arch.fpga web interface onhttp://www..FPGARelated.com

Here's a rule that might help you in future projects:

In every module add a "debug" port 32 bits wide, or some larger
width if you think you might need a larger ChipScope width. Every
modules instantiating lower level modules would normally bring
this to the top using an assign. The lowest modules can assign
them to zero until you need them. Then when you need to hook
up Chipscope the wires are already there and you can just modify
the assigns where you signal sources are. And until connected
all of these "wires" are ripped out during synthesis so it
doesn't add to the resource requirements.

By the way I agree that the ChipScope inserter would be the best
way to debug but it is a real pain to find your signals after
the design has been translated. I often find that buses are
not named consistently for example making it a chore just to
find all the bits.

Regards,
Gabor
 
maxascent...
Posted: Sat Oct 31, 2009 6:45 pm
Guest
The problem with having to insert the ila and icon in the hdl is that you
constantly have to bring the signals up to the top level, maybe through
many layers. It is easier to use the inserter but if you have a vio core
too you cant place it with the inserter.

Jon

---------------------------------------
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com
 
 
Page 1 of 1    
All times are GMT
The time now is Tue Nov 24, 2009 3:45 pm