Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 120875

Article: 120875
Subject: Re: How to simulate testbenches using the ISE simulator in linux
From: Duth <premduth@gmail.com>
Date: Tue, 19 Jun 2007 15:37:54 -0000
Links: << >>  << T >>  << A >>
On Jun 19, 3:27 am, Ankit <ankitanand1...@gmail.com> wrote:
> Hey Duth..
>
>                Hi..Thanx for taking time and replying to my query..I
> have been trying to run the command you mentioned in your posts but
> this what it says..
>
> [ankit@localhost Xilinx91i]$ mv $XILINX/gnu/gcc/3.2.3/lin/bin/ld
> $XILINX/gnu/gcc/3.2.3/lin/bin/
> mv: cannot stat `/gnu/gcc/3.2.3/lin/bin/ld': No such file or directory
>  Plus i am a liitle new to linux so pleas dont mind if 1 of my queries
> turn out to be stupid..
> I ran these commands in the terminal i am hoping thats where i should
> have run them..Or i should have executed these in the TCL shell..
>
> Please do help me out of this dilemma as my mentor is admanat that i
> run Xilinx on linux..
>
> Waiting for your reply..
>
> Regards
> Ankit

Hi Ankit,

Please follow the recommendation that Guenter provides, what you are
seeing here are just user errors of not setting up the environment
correctly. I would also recommend that you try to have a linux
specialist assist you out as well, as it may make this process a lot
smoother. Additionally you can also try Laurents recommendation of
just loading isimwave after simulation.

Thanks
Duth


Article: 120876
Subject: Re: what is the correct way to capture ADC using fpga
From: fpgabuilder <fpgabuilder-groups@yahoo.com>
Date: Tue, 19 Jun 2007 15:40:37 -0000
Links: << >>  << T >>  << A >>
On Jun 17, 9:52 am, John_H <newsgr...@johnhandwork.com> wrote:
> fpgabuilder wrote:
>
> > Thanks John for this insight.  Very helpful.  But this has raised some
> > questions in my mind.  Xilinx uses DCMs and they add jitter to the
> > clocks.  On the other hand Altera uses PLLs and they actually filter
> > out the jitter.  So in this case it would be good to go with an Altera
> > device and drive the clocks to ADC?  Or do you see some other problems
> > as well.
>
> > Thanks.
> > -sanjay
>
> The use of a PLL will help your situation.  But keep in mind that FPGAs
> are ALL concerned with digital signals and are NOT designed as analog
> devices!  Although the Altera device has significantly less jitter than
> the Xilinx DCM output, the output will be contaminated by other FPGA
> characteristics.  Just having other I/O switching on the same bank is
> enough to generate noise in the output clock.
>
> Your best bet is to NEVER drive the ADC directly from your FPGA
> independent of the brand.
>
> But you can get by without the cleanup PLL (the dedicated, external
> analog device) *if* you do an error analysis to determine how much
> jitter is tolerable on your ADC clock.  If, for instance, you have an
> audio stream used for communications (14 bits or fewer at 8 kS/s,
> encoded to 8 bits) then your worries are pretty limited.  If you have a
> 16-bit ADC running at 400 MHz, you're in a world of hurt without extreme
> design constraints for a clean sampling timebase.
>
> You will ALWAYS benefit from having a fixed sampling clock fed to the
> ADC from the oscillator rather than from the FPGA.  If that clock
> topology is impractical, you have to decide how much error or noise
> floor is acceptable for your application and guarantee that your logic
> device won't degrade the clock beyond your acceptable level.  While the
> Altera solution *may* be better than the Xilinx solution by 20 dB, I
> would suspect the improvement is more on the order of 12-14 dB without
> extreme care in the power supply and I/O activity for the Altera
> alternative.  I don't have evidence to support my numbers, just
> expectations in raw performance.
>
> - John_H

Thanks John.  This is great stuff.  I also found a recent article that
confirms your thesis.  5 stars to your post.

http://www.embedded-control-europe.com/c_ece_knowhow/25/ECEapr07p41.pdf

-sanjay


Article: 120877
Subject: Re: want to pay for DCM active phase shift controller.
From: "cutemonster" <ckh827@hotmail.com>
Date: Tue, 19 Jun 2007 11:07:48 -0500
Links: << >>  << T >>  << A >>

Here is my code, and please take a look and give me some advice.
/*
 req_phase_y, phase_y_value, phase_y_sign[0] are I2c data received to 
 start the phase change. After receive req_phase_y, req_phase_y_ack will
 be asserted.  Wait until req_phase_y is clear, then proceed to state  
8'h02.  And state 3 and 4 is to send psen and receive psdone.   The probem
is psdone never asserted and phase shift never applied.

I feed CLKIN_IN(.clk4phaseChange)  
       PSCLK_IN(.pixel_clk) 


*/


always @ (posedge pixel_clk)
begin	 
 if (rst) begin    
    y_dynamic <= 8'h00;
    PSEN_INy <= 0;
    dcm_status <= 0;	
    phaseDoneCnt <= 0;	 
    ps_cnt <= 0;
 end	 
 else begin
      if(!req_phase_y)begin req_phase_y_ack <= 0; end		
		y_dynamic_state <= y_dynamic;
		case(y_dynamic)
		8'h00:begin				
				if(req_phase_y)begin			  
				  y_dynamic <= 8'h01;
				  req_phase_y_ack <= 1;
				end
				else begin
				  y_dynamic <= 8'h00;				 
				end
				PSEN_INy <= 0;				
				phase_y_cnt <= 0;
				ps_cnt <= 0;
		end
		8'h01:begin
		     if(req_phase_y==0)begin
			     y_dynamic <= 8'h02;
			  end
			  else begin
			     y_dynamic <= 8'h01;
			  end		
		end
		8'h02:begin
		  PSEN_INy <= 0;
		  if(phase_y_cnt <= phase_y_value)begin	    
			 PSINCDEC_INy <= phase_y_sign[0];		 
			 phase_y_cnt <= phase_y_cnt + 1; 
			 y_dynamic <= 8'h03;
		  end
		  else begin       		 
			 phase_y_cnt <= 0; 
		         y_dynamic <= 8'h00;
			 dcm_status <= dcm_status + 1;
		  end		
		  
		end		
		8'h03:begin	 
		 PSEN_INy <= 1;
		 y_dynamic <= 8'h04;	                  		
		end
		8'h04:begin
		PSEN_INy <= 0;
		   if(PSDONE_OUTy)begin
			  y_dynamic <= 8'h02;			  
			end
			else begin		
			   if(ps_cnt < 500)begin
			      ps_cnt <= ps_cnt + 1;
					y_dynamic <= 8'h04;
				end
				else begin y_dynamic <= 8'h00; end
           			  
			end	
		end
		default:begin end
		endcase
 end 
end


Article: 120878
Subject: Re: Could I use the opencore ddr_sdr core (for SDRAM) in Xilinx Platform Studio (C code)?
From: Pablo <pbantunez@gmail.com>
Date: Tue, 19 Jun 2007 09:26:31 -0700
Links: << >>  << T >>  << A >>
On 19 jun, 14:46, Antti <Antti.Luk...@googlemail.com> wrote:
> On 19 Jun., 14:19, Pablo <pbantu...@gmail.com> wrote:
>
> > If I download ddr_sdr core from Opencore, how could I use it with
> > PowerPC or Microblaze to access memory with C code. Is it enough to
> > load this core in c:\EDK\hw\XilinxProcessorIPLib\pcores? But I need to
> > create mpd and pao files.
>
> > Must I implement C functions to access to it or it is enough to create
> > a pointer to the memory direction?
>
> there are things you can do, and thing you should not.
> "using opencores DDR with EDK" is something you should not do.
>
> Antti

That core is an example about what I want to do. I have a ddr core for
a non Xilinx Board so I must use this core, but I want to do a PowerPC
model and the unique method I know is about using Xilinx Platform
Studio. I have to use C code so I need PowerPC and the interface
between C code and the core.

I hope this could respond to your advice.

Regards

Pablo


Article: 120879
Subject: Re: SystemC - Libero IDE
From: "HT-Lab" <hans64@ht-lab.com>
Date: Tue, 19 Jun 2007 16:26:31 GMT
Links: << >>  << T >>  << A >>

"Vince" <claesvincent@gmail.com> wrote in message 
news:1182264292.465496.281830@e9g2000prf.googlegroups.com...
> Hi all,
>
>
> just for curiousity anyone knows if Actel is working on some tools to
> include SystemC synthesis in the future for their Libero IDE?

I would be surprised if they did unless of course they team up with say 
Celoxica or some new synthesis company, there are others like 
Catapult/Forte/Bluespec but they are probably outside of the average Actel 
designer EDA budget :-)

Hans
www.ht-lab.com

>This
> would be a great advantage for some of their developers since most of
> the are working on System Level at the moment.
> Kind regards,
> Vince
>
> http://mobile.skynetblogs.be
> 



Article: 120880
Subject: Re: How to simulate testbenches using the ISE simulator in linux
From: "HT-Lab" <hans64@ht-lab.com>
Date: Tue, 19 Jun 2007 16:33:08 GMT
Links: << >>  << T >>  << A >>

"Mike Treseler" <mike_treseler@comcast.net> wrote in message 
news:5do1g3F34iqk0U1@mid.individual.net...
> Ankit wrote:
>
>> A few days back I installed xilinx ISE webpack 91i on fedora core 6
>> everything worked out fine but i have not been able to simulate the
>> testbench using the simulator provided by xilinx..whenever i double
>> click on simulate behavioral model nothing happens..guys do help me
>> out i am in a fix..
>
> Two choices:
> 1. Load the windows version of ISE
> 2. Buy a modelsim SE floating license.

3. Complain to Mentor for penalizing Linux users!

yes I know there is Modelsim LE but that is just  ^$&%£") Verilog only :-(

Hans
www.ht-lab.com


>
>    -- Mike Treseler 



Article: 120881
Subject: synthesis translate_off
From: Kuo <chinchia.kuo@sbcglobal.com>
Date: Tue, 19 Jun 2007 16:40:06 GMT
Links: << >>  << T >>  << A >>
Does anyone if "//synthesis translate_off" in Xilinx is also honored by 
ASIC synthesis tool (Design compiler) ?

Thanks

Article: 120882
Subject: Re: Help configuring XUP PPC for Ethernet
From: Siva Velusamy <siva.velusamy@xilinx.com>
Date: Tue, 19 Jun 2007 09:51:33 -0700
Links: << >>  << T >>  << A >>
> 
> So far we have found out that we would need to use the light weight IP
> (lwIP) library in Socket API mode, but we are totally lost in terms of
> how to configure the project in EDK properly to allow such thing.
> Should we use the "standalone" OS or "xilkernel"? And how do we

If you want sockets, you need to use xilkernel. If you can use the RAW 
API, then use the standalone BSP.

> configure the linker script for the software project so that we can
> utilize the 512MB RAM correctly?

Create a BSB design for the project and take a look at the linker script 
used for TestApp_Peripheral.

-Siva

Article: 120883
Subject: Re: How to simulate testbenches using the ISE simulator in linux
From: Ankit <ankitanand1986@gmail.com>
Date: Tue, 19 Jun 2007 10:26:22 -0700
Links: << >>  << T >>  << A >>
Hi Laurent


    I think it would be really great if you could tell the exact bash
script because i would not mind that too..My aim here is to run xilinx
on linux it does not matter how it is done..

   @ Duth i will try that also let us see what happens...


Regards
Ankit


Article: 120884
Subject: Re: SystemC - Libero IDE
From: Vince <claesvincent@gmail.com>
Date: Tue, 19 Jun 2007 17:36:47 -0000
Links: << >>  << T >>  << A >>
On 19 jun, 18:26, "HT-Lab" <han...@ht-lab.com> wrote:
> "Vince" <claesvinc...@gmail.com> wrote in message
>
> news:1182264292.465496.281830@e9g2000prf.googlegroups.com...
>
> > Hi all,
>
> > just for curiousity anyone knows if Actel is working on some tools to
> > include SystemC synthesis in the future for their Libero IDE?
>
> I would be surprised if they did unless of course they team up with say
> Celoxica or some new synthesis company, there are others like
> Catapult/Forte/Bluespec but they are probably outside of the average Actel
> designer EDA budget :-)
>
> Hanswww.ht-lab.com
>
>
>


Fully correct but maybe they can fix some arrangment where they will
pay the license for their users like the ModelSim Actel Edition etc.
I am happy they do things like this (they want to sell silicon not
software); by this I can experiment with it in my free time :-)






Article: 120885
Subject: Re: No serial output while booting a Xilinx ML403 board
From: gseegmiller@gmail.com
Date: Tue, 19 Jun 2007 11:04:37 -0700
Links: << >>  << T >>  << A >>
On Jun 18, 11:16 pm, "Lasse Eriksson" <> wrote:
> Hi gseegmiller,
>
> Do you have an uart16550 or do you use the opb_uartlite?
>
> If you are using the uartlite the you have to change the cmd line for the kernel.
>
> console=ttys0,9600 is for the uart16550.
>
> think it should read this for the uartlite.
>
> console=ttyl0,9600
>
> best regards Lasse

Hello,

I'm using the uart16550.  I've also used the uartlite with the same
results.

Thank you for responseding!

Glade


Article: 120886
Subject: Weird behavior in debuggin using XMD
From: kislo <kislo02@student.sdu.dk>
Date: Tue, 19 Jun 2007 11:08:07 -0700
Links: << >>  << T >>  << A >>
I have implemented a base builder system for the Spartan3e starter kit
where i have a TestApp_memory.c which is downloaded in blockram and
works fine. Then i have another program also generated by the base
system builder, TestAppPeripheral.c which i download to the extern
memory with XMD which downloads fine and execute with con address. But
when it tests interrupts in dosent catch any interrupts, so i wanted
to debug the program to see if i could locate the problem (there is
definitely some weird beheaviour since the interrupts sometimes
work !!)
But anyway, i wanted to debug the program using the debugger, i
connected fine and started to debug, i placed a breakpoint at the
start of the interrupt test, and i started debuggin. Now comes the
weird beheaviour, the programtracer jumps back and forward and
sometimes skips instructions. It evens jumps into a if statement which
it cannot go into according to the data.
So anyone have any ideer what is going on ?
Maybe the base system builder code is rubish?
Anyone have had trouble using interrupts and XMD together ?


Article: 120887
Subject: Re: How do i add my IP to EDK?
From: HurleyBP@gmail.com
Date: Tue, 19 Jun 2007 18:55:33 -0000
Links: << >>  << T >>  << A >>
On Jun 19, 4:12 am, rbmm...@gmail.com wrote:
> Hi,
>   I have designed a IP core, how can i add my IP to EDK?
>   Anyone who can help me?

If you are attaching to the OPB, PLB, or FSL, you can use the Create/
Import Peripheral Wizard to create a skeleton for you. I thing there
are some tutorials out there that describe using the IPIF.

If you prefer not to use the IPIF, you are using another bus (custom,
point-to-point, DCR, or LMB), or you just want to do this manually,
you can follow the conventions used by other IP cores (check under EDK/
hw). You need to follow a certain folder structure and have correct
MPD (Microprocessor Peripheral Description) and PAO (Peripheral
Analyze Order) files. Use existing IP core MPD and PAO files as a
reference along with the Platform Specification Format Reference
Manual (psf_rm.pdf).

Once you have these finished, you just need to put your IP core in a
user repository and it will show up under EDK (assuming EDK was closed
when you were doing this, or you manually refreshed the user IP cores
through EDK).


Article: 120888
Subject: MIG for Virtex-4 DDR dimm, only 165 Hz?
From: Patrick Dubois <prdubois@gmail.com>
Date: Tue, 19 Jun 2007 18:59:06 -0000
Links: << >>  << T >>  << A >>
Hello,

Why does Xilinx MIG controller support DDR dimm at only 165 MHz in
Virtex-4 ? (175MHz in -12). I remember seeing a 200 MHz reference
designs for DDR memory in a V2Pro!

Quoting from the white paper "Memory Interfaces Made Easy with Xilinx
FPGAs and the Memory Interface Generator":
"For high-performance applications, pushing the limits of the memory
interface bandwidth like 533 and 667 Mb/s per pin DDR2 SDRAMs, Xilinx
offers the Virtex=E2=84=A2-4 and Virtex-5 FPGAs, which are capable of meeting
the highest bandwidth requirements of most systems today."

533? That's like 266 MHz. 200 MHz should be easy for MIG then. 165 MHz
is a far cry from the marketed 266 MHz.

AR23862 answers part of this question (something about idelay jitter).
Still, I feel that the MIG design should be able to extract more
performance from the V4 fabric.

Side question, why can MIG acheive 220 MHz with DDR2? That's like 33%
faster.

Thanks.

Patrick


Article: 120889
Subject: V4 PPC to sleep?
From: "cpope" <cepope@nc.rr.com>
Date: Tue, 19 Jun 2007 15:11:03 -0400
Links: << >>  << T >>  << A >>
I want to put the PPC running linux in my virtex-4 to sleep to save power.
Apparently, the official software suspend mechanism isn't supported/present
in our kernel but the standard linux tree does have an
include/asm-ppc/suspend.h file. Unfortnately, it's basically blank. Can't
believe I'm the first guy to try to save and restore the state of the ppc405
in a virtex chip? Any pointers would be appreciated.

Thanks,
Clark



Article: 120890
Subject: Re: Could I use the opencore ddr_sdr core (for SDRAM) in Xilinx Platform Studio (C code)?
From: HurleyBP@gmail.com
Date: Tue, 19 Jun 2007 19:17:37 -0000
Links: << >>  << T >>  << A >>
That core is not an example of what you want to do. It provides a
simple interface for FPGA logic to interface with SDRAM. It does not
provide an interface to the PLB or OPB, so you would not be able to
connect it up to the Power PC without creating another IP core to act
as an interface layer.

If you are using EDK, I'm assuming you have a board with a Xilinx part
on it. If not, why are you using EDK? I don't quite understand how
having a DDR core for a non-Xilinx board affects anything. EDK comes
with DDR cores that connect directly to the PLB or OPB. This is what
you need.

Based upon your post, I'm going to assume that you have a non Xilinx
board with a Virtex2 or 4 on it. You have an example with this board
that utilizes the Opencores DDR controller, but it uses an ISE project
flow and does not utilize a PPC or Microblaze. Is this correct? If so,
you need to get or create an XBD file (Xilinx Board Definition) that
essentially defines the pinout for the FPGA on your board. Using an
existing Xilinx board example will not work unless your board has the
same pinout for the FPGA (unlikely). Once you have a good XBD, you can
create a project that includes a PPC, a DDR memory controller, and
other peripherals. Your best bet is probably to adapt one of the
existing reference designs to your board.

On Jun 19, 12:26 pm, Pablo <pbantu...@gmail.com> wrote:
> On 19 jun, 14:46, Antti <Antti.Luk...@googlemail.com> wrote:
>
> > On 19 Jun., 14:19, Pablo <pbantu...@gmail.com> wrote:
>
> > > If I download ddr_sdr core from Opencore, how could I use it with
> > > PowerPC or Microblaze to access memory with C code. Is it enough to
> > > load this core in c:\EDK\hw\XilinxProcessorIPLib\pcores? But I need to
> > > create mpd and pao files.
>
> > > Must I implement C functions to access to it or it is enough to create
> > > a pointer to the memory direction?
>
> > there are things you can do, and thing you should not.
> > "using opencores DDR with EDK" is something you should not do.
>
> > Antti
>
> That core is an example about what I want to do. I have a ddr core for
> a non Xilinx Board so I must use this core, but I want to do a PowerPC
> model and the unique method I know is about using Xilinx Platform
> Studio. I have to use C code so I need PowerPC and the interface
> between C code and the core.
>
> I hope this could respond to your advice.
>
> Regards
>
> Pablo



Article: 120891
Subject: [ISE] how to synthesize XilinxProcessorIP/pcore
From: Pasacco <pasacco@gmail.com>
Date: Tue, 19 Jun 2007 19:20:05 -0000
Links: << >>  << T >>  << A >>
Dear

I want to synthesize "opb_arbiter" in ISE.

What I did was
(1) Locate "opb_arbiter_v02_e" and "proc_utils_v1_00_a" (located in
EDK directory)
(2) Set up parameter : number of master = 4 (default)
(3) Compile top module "opb_arbiter".

However an error occurs, as indicated in the source codes below.

/opb_arbiter_v1_02_e/hdl/vhdl/opb_bus_arbiter/onehot2encoded.vhd
Error : or_bits is not an entity name

Let us know how to synthesize, if anyone has this experience.
Thank you in advance.

-----------------------------------------------------------------------------------------------------
-- /opb_arbiter_v1_02_e/hdl/vhdl/opb_bus_arbiter/onehot2encoded.vhd
-----------------------------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;

-------------------------------------------------------------------------------
-- OPB_ARB_PKG includes necessary constants and functions
-------------------------------------------------------------------------------
library unisim;
use unisim.vcomponents.all;

library opb_arbiter_v1_02_e;
use opb_arbiter_v1_02_e.opb_arb_pkg.all;

library proc_common_v2_00_a;

-------------------------------------------------------------------------------
-- Port Declaration
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Definition of Generics:
--          C_1HOT_BUS_SIZE -- number of bits in the 1-hot bus
--
-- Definition of Ports:
--          Bus_1hot        -- input 1-hot bus
--          Bus_enc         -- output encoded bus
--
-------------------------------------------------------------------------------
-----------------------------------------------------------------------------
-- Entity section
-----------------------------------------------------------------------------
entity onehot2encoded is
    generic (
            C_1HOT_BUS_SIZE : integer   := 8
            );
    port    (
            Bus_1hot     : in    std_logic_vector(0 to
C_1HOT_BUS_SIZE-1);
            Bus_enc      : out   std_logic_vector(0 to
log2(C_1HOT_BUS_SIZE)-1)
            );
end onehot2encoded;


-----------------------------------------------------------------------------
-- Architecture section
-----------------------------------------------------------------------------
architecture implementation of onehot2encoded is

-------------------------------------------------------------------------------
-- Constant Declarations
-------------------------------------------------------------------------------
-- encoder logic requires that the 1hot bus be padded to next power of
2
constant PAD_1HOT_BUS_SIZE : integer := pad_power2(C_1HOT_BUS_SIZE);

-------------------------------------------------------------------------------
-- Signal Declarations
-------------------------------------------------------------------------------
signal pad_1hot_bus : std_logic_vector(0 to PAD_1HOT_BUS_SIZE-1) := (others => '0');

-------------------------------------------------------------------------------
-- Component Declarations
-------------------------------------------------------------------------------
-- OR_BITS is used to determine if segments of the 1-hot bus are '1'

-----------------------------------------------------------------------------
-- Begin architecture
-----------------------------------------------------------------------------
begin

-------------------------------------------------------------------------------
-- Padded bus generation
-------------------------------------------------------------------------------
pad_1hot_bus(0 to C_1HOT_BUS_SIZE-1) <= Bus_1hot;

-------------------------------------------------------------------------------
-- Encoded Bus generation
-------------------------------------------------------------------------------
-- Note this logic uses the padded version of the 1hot bus to insure
that
-- the calculations are on a constant which is a power of 2

ENC_BUS_GEN: for i in 0 to log2(PAD_1HOT_BUS_SIZE)-1 generate

signal temp_or  : std_logic_vector(0 to 2**i) := (others => '0');

begin

    OR_GENERATE: for j in 1 to 2**i generate

 
---------------------------------------------------------------------------------
    ---- Here error occurs :
    ---- Error : or_bits is not an entity name
 
----------------------------------------------------------------------------------
        BUS_OR: entity proc_common_v2_00_a.or_bits
            generic map ( C_NUM_BITS    => PAD_1HOT_BUS_SIZE/2**(i+1),
                          C_START_BIT   => PAD_1HOT_BUS_SIZE/2**(i+1)
                                            + (j-1)*PAD_1HOT_BUS_SIZE/
2**i,
                          C_BUS_SIZE    => PAD_1HOT_BUS_SIZE
                        )
            port map (
                        In_Bus      => pad_1hot_bus,
                        Sig         => temp_or(j-1),
                        Or_out      => temp_or(j)
                     );
    end generate OR_GENERATE;

    Bus_enc(i) <= temp_or(2**i);

end generate ENC_BUS_GEN;

end implementation;


Article: 120892
Subject: Re: .xco file and vcs verilog compiler
From: Jim Wu <jimwu88NOOOSPAM@yahoo.com>
Date: Tue, 19 Jun 2007 12:57:29 -0700
Links: << >>  << T >>  << A >>
On Jun 18, 9:27 pm, Maverick <> wrote:

> I have a Xilinx design that uses mainly verilog RTL and some .xco 
>file for coregen FIFOs and such. I am using vcs compiler from 
>synopsys. This compiler does not recgonize the xco files. Is there any 
>way I can convert .xco file into verilog file using Xilinx coregen?
>
> I do not know why this shareware design does not provide the verilog 
>file for coregen fifo and instead it has the .xco file. Is there any 
>advantage in doing so?
>
> It will be great if I can convert the .xco file into .v for vcs 
>verilog simulation. vcs compiler is able to compile the xilinx 
>primitves .v files provided by Xilinx.
>
> Thanks for your help.
>
> Maverick

You can run coregen in batch mode to generate simulations files
from .xco files:

The table below lists the options to the coregen command.

Option
 Description

-b <command_file_name>
 Invokes the CORE Generator=99 in batch mode and executes the commands
in the specified command file during the batch mode run. The
command_file_name argument specifies the path to the command file to
be executed.

XCO files are commonly specified as the argument to the -b option, but
you can specify any file containing valid CORE Generator commands.

Cheers,
Jim
http://home.comcast.net/~jimwu88/tools/



Article: 120893
Subject: Re: V5 GTP Sim Problem
From: motty <mottoblatto@yahoo.com>
Date: Tue, 19 Jun 2007 13:11:19 -0700
Links: << >>  << T >>  << A >>
Thanks.  I changed the modelsim.ini in the ModelTech directory but not
in the location where I was simulating from.  I suppose you have to do
it there.  It works now.


Article: 120894
Subject: Re: want to pay for DCM active phase shift controller.
From: motty <mottoblatto@yahoo.com>
Date: Tue, 19 Jun 2007 13:19:24 -0700
Links: << >>  << T >>  << A >>
Honestly,

I thought you had a state machine that contolled the dynamic phase
shifting only and that was the problem.  This appears to be a design
that has the dyanmic phase shift control inside of it and there could
be multiple sources of error.

Dumb question, but have you simulated this?  That is where I would
start.  This is too complicated to look at right now.  I thought there
was going to be some quick 'aha' code problem.



Article: 120895
Subject: noisy rising edge clock - non-monotonic clock
From: csisterna@hotmail.com
Date: Tue, 19 Jun 2007 14:01:11 -0700
Links: << >>  << T >>  << A >>
We are having some tests failing under certain clock signals. The
clock signal is generated in an external device with different drive
strengths. The external clock is used to clock some Virtex2P internal
FFs which outputs goes to the DUT. We tried different drive strength
for the clock such as: 1mA, 2mA, 3mA, 4mA,and 6mA. The test only fails
with 2mA drive strength. Analyzing the captured waveforms, we found
that there are some ringing (non-monotonicity) in the 2mA clock at
around 1V and 2V.
Since we are using LVCMOS33. From the V2P data sheet, on page 76, it's
stated that for LVCMOS33
VIL min = -0.2  VIL max = 0.8
VIH min = 2.0  VIH max = 3.45
Since the clock signal has a 'draw-back' (ringing) at ~1.0 and at
~2.0V, is that what actually cause the problem with the clock?
On the other hand, I read on the xilinx's Answer Database, answer #
11308, that there is a transition point at Vcc/2  with a hyteresis of
~100mV and this apliable to both data and clock inputs. I was looking
for more detailed information on the hysteresis (in X FPGAs) , but I
could not find anything else.
So, my first question: is Vcc/2 the 'real transition' point for the
clock? for 3.3Vcc that point is at 1.65V. In my case the clock is
clean and monotonic between 1.1 and 1.9. So, why should I have problem
based on the Vcc/2 transition point?
However, using the values from the data sheet,
VIL min = -0.2  VIL max = 0.8
VIH min = 2.0  VIH max = 3.45
I see that the 'draw-back' happens very close to the borders, close to
Vilmax and Vihmin, and could cause some problems.

I do understand  that the non-monotonic clock can cause problem, but
at this moment there no much we can do with the board. I'd also like
to find any doc on Xilinx website related to the integrity of the
clock signal. If you can point to me to some document that could
clarify the behave of the FFs with noisy clocks, I'd really appreciate
it.

Thanks,

Cris
PS: the rise time for the 2mA is ~22ns


Article: 120896
Subject: Re: noisy rising edge clock - non-monotonic clock
From: "Symon" <symon_brewer@hotmail.com>
Date: Tue, 19 Jun 2007 22:14:04 +0100
Links: << >>  << T >>  << A >>
<csisterna@hotmail.com> wrote in message 
news:1182286871.788231.92360@c77g2000hse.googlegroups.com...
>
> I do understand  that the non-monotonic clock can cause problem, but
> at this moment there no much we can do with the board. I'd also like
> to find any doc on Xilinx website related to the integrity of the
> clock signal. If you can point to me to some document that could
> clarify the behave of the FFs with noisy clocks, I'd really appreciate
> it.
>
Hi Cris,
Your problem is probably the falling edge of the clock being seen by your 
cct as a rising edge...
>
> Thanks,
>
> Cris
> PS: the rise time for the 2mA is ~22ns
>
...because you have a clock that is very slow. Really, very slow. You need 
to fix this, maybe with a Schmitt trigger buffer.
HTH, Syms. 



Article: 120897
Subject: Re: fitting problem on A54SX72A
From: "Alvin Andries" <Alvin_Andries.no_spam@no.spam.versateladsl.be>
Date: Tue, 19 Jun 2007 23:18:39 +0200
Links: << >>  << T >>  << A >>
Comments in the text.

<SNIP>

> >>
> >>
> >>>-- decoding signals
> >>>p_signal1 <= '1' when addr = x"123" else
> >>>             '0';
> >>>p_signal2 <= '1' when addr = x"456" else
> >>>             '0';
> >>>
> >>>
> >>>-- writing process
> >>>
> >>>process (clk, nrst)
> >>>begin
> >>> if nrst = '0' then
> >>>   signal1 <= '0';
> >>>   signal2 <= '0';
> >>> elsif rising_edge (clk) then
> >>>   if wr = '1' then
> >>>     if p_signal1 = '1' then
> >>>       signal1 <= data;
> >>>     elsif p_signal2 = '1' then
> >>>       signal2 <= data;
> >>>       ...
> >>>end process;
> >>
> >>So it happens that writing to addr = x"123" it will change signal2 as
> >>well...how can it be possible???
> >>
> >>I did prefer to have "p_signals" and not use directly the "addr" in the
> >>process just because in the very beginning I thought about latching the
> >>"p_signals" to have them stable, but then I realized it wouldn't have
> >>fit in the logic (I have already an occupancy of 84% and I have more
> >>than 300 addresses to decode).
> >>Do you have any explanation of this behaviour?
> >
> >
> > Hi Alessandro,
> >
> > What do you mean with postsynthesis and postlayout? Gatelevel with and
> > without timing?
>
> Well, the postlayout is gatelevel with timing of logic elements but not
> the routes (I think there's just an estimation of which will be the
> route and timing is computing based on this estimation). Postlayout is
> considering the actual routes after place&route process and all delays
> are taken into account. Moreover I had to implement a simulation
> considering the INDUSTRIAL ranges in temperature and voltage to take
> into account timing changing according to these two parameters.
> >
> > Also, what did you do with your write signal? Normally, you wouldn't
have to
> > delay it in a synchronous environment.
> >
> Unfortunately the p_signals are really many, in the order of 300 and,
> for the Actel chip I'm using, there's a long delay introduced in the
> decode chain of all this combinatorial logic. That's why, to overcome
> this, I needed to add some latency in the write signal which will allow
> me to have the data stable and the p_signal stable when the write signal
> arrives.

This is wrong. Normally you specify your I/O timing and clock constraints
and the synthesis tool should tell you if it met those or not. Combinatorial
delay will be optimized away anyway.

> > Your code seems ok, even though I would replace the elsif p_signal2 by
> > regular ifs: the reason is that you're now describing a priority decoded
> > block, whik this is unnescessary.
> >
> I agree with you, even if I thought that the if elsif structure would
> have been much simpler to write, otherwise I have to implement a process
> for any register, turning out with a less readable code. But I will try
> with a case when structure and try to see if there are any differences
> in the implementation.
>

Currently, each of the "p_signal<i> <=" statements creates a process.
Combining these in a single process would require a process with a case
statement and addr in it's sensitivity list. You would then have to assign
every p_signal<i> to '0' by default or you would end up with latches. But
this wasn't the point I was making. The elsif construct in your clocked
process creates superfluous priority logic. You're telling the compiler the
following:
  if p_signal1, then ...
  else (if not p_signal1) and p_signal2, then ...
  else (if not p_signal1 or p_signal2) and p_signal3, then ...
This will create a very large expression for the very last action. If the
compiler is smart enough, it may see that the p_signal<i> signals are
mutually exclusive and remove this logic. Things would go smoother if you
put:
  if p_signal1, then ...
  if p_signal2, then ...
  if p_signal3, then ...

> By the way I did registered the p_signal, fearing that the synthesizer
> would have put the write signal at the very beginning of the chain
> instead at the end, but the simulation didn't work either.

If timing is an issue, you will have to register the addr and wr signals an
equal amount. A simple trick would be to replicate addr a few times and
decode a reduced number of addresses from each copy (use boundaries of 2^n).
Some tools (Synplify at least) will merge these registers back to one unless
you add a syn_keep attribute (or was it keep?). If your routing resources
are still widely available, you could register partially decoded p_sigs:
   p_sig2, p_sig1, p_sig0 : STD_LOGIC_VECTOR(15 downto 0)

   if rising_edge
      p_sig2 <= decode16(addr(11 downto 8))
      p_sig1 <= decode16(addr( 7 downto 4))
      p_sig0 <= decode16(addr( 3 downto 0))
      wr_dec <= wr

      if (wr_dec = '1')
         if (p_sig2(0) and p_sig1(0) and p_sig0(0) = '1') then ...
         if (p_sig2(0) and p_sig1(0) and p_sig0(1) = '1') then ...


Regards,
Alvin.



Article: 120898
Subject: Re: noisy rising edge clock - non-monotonic clock
From: austin <austin@xilinx.com>
Date: Tue, 19 Jun 2007 14:18:56 -0700
Links: << >>  << T >>  << A >>
Chris,

-snip-

> So, my first question: is Vcc/2 the 'real transition' point for the
> clock?

Vcc/2 is the design center by simulation for perfectly "typical" process
corners.  In reality, this does vary.  If the p is stronger, and the n
is weaker (for example) the transition point is no longer Vcc/2.

Generally, CMOS varies from ~33%, to ~66%.  The thick oxide devices are
not so variable as the mid, or thin oxide devices, but 33 to 66% is a
good guideline.

If you want to switch at a precise level, then you should be using a
standard that uses the Vref input to the input comparatot.

If you can point to me to some document that could
> clarify the behave of the FFs with noisy clocks, I'd really appreciate
> it.

http://www.xilinx.com/products/design_resources/signal_integrity/

http://www.xilinx.com/products/design_resources/signal_integrity/resource/si_pcb.htm

Your problem is incredibly basic, and is not uniquely a "clock" problem.
 It is just that having this problem on a clock signal can cause
multiple problems.

You need to fix the signal integrity, as changing the threshold may fix
this one board, and may not be what works for another board.  The fact
that changing the drive strength does little to affect the shape of the
received signal implies that there is no match from the source to the
line, to the load that will work.  Often this is due to the line itself
having a discontinuous impedance (it may have multiple drop off points,
which means that series termination can never work -- parallel
termination will only work in such cases).

You may wish to enable the parallel split DCI termination option in the
IOB.  You will need to connect the reference resistor pins to resistors
to use this feature.

For V4:

http://www.xilinx.com/products/silicon_solutions/fpgas/virtex/virtex4/capabilities/selectio.htm

Also exists for V2, V2P, and V5.

Austin

Article: 120899
Subject: Re: Help needed regarding addition of Custom IP core to EDK
From: motty <mottoblatto@yahoo.com>
Date: Tue, 19 Jun 2007 14:48:55 -0700
Links: << >>  << T >>  << A >>
The EDK will search the libraries you list in the pao.  I do all my
cores in verilog and don't ever have problems.

I don't understand what you mean by the EDK going 'defautly' to the
vhdl folder.  Is simpl_tx the fifo?  If it is, put the verilog file
(generated by core gen) in the hdl/verilog folder and include it in
the pao.  Then put the ngc in the netlist folder and include it in the
bbd file.

Somehwere/somehow the EDK thinks it is searching for a VHDL file
called simpl_tx...and I really don't think that is in a script
anywhere....at least one that isn't generated via files you have
access to in the core.

Post the pao (at least to make me shut up about that).  I can't think
of why your core is behaving badly.  But maybe if it was in front of
me I'd understand better.




Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search