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 135425

Article: 135425
Subject: Re: Low frequency clock generation - need help
From: Svenn Are Bjerkem <svenn.bjerkem@googlemail.com>
Date: Wed, 1 Oct 2008 13:33:46 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Sep 30, 6:01 am, thutt <thutt...@comcast.net> wrote:
> vlod...@gmail.com writes:
> > Guys,
>
> >       I am designing a conventional Digital down converter on virtex
> > -4 Sx55 FPGA for GSM applications.
>
> > The Input clock frequency is above 160 Mhz for the initial CIC
> > decimation filter. After decimation , the data is fed to low pass
> > filter at a very low rate of ~1 Mhz
>
> > The issue is ,I am not able to generate this low frequency clcok with
> > Virtex -4 DCM , obviously the min output frequency is 32 Mhz.
>
> > After I looked into the previous threads , i dont feel its a clean way
> > to generate the divided clock by internal clock divider or clock
> > gating circuit in FPGA .
>
> > Can anyone let me know any other way of generating the low frequency
> > clock or is it safe to use internal clock divider considering my
> > asynchronous design ( FIFO between each filter stage)  ?
>
> > Iam using the latest FIR compiler to generate the LP filter core. but
> > i do see the option of  input sample  per no of  clock cycles in
> > previous Distributed FIR core which made life easy. but the FIR
> > compiler core doesnt have this option.
>
> > Please advice
>
> > Thanks in Advance
>
> > Vijay
>
> I'm certainly no expert in the field of hardware design, but I've had
> good luck using the master clock signal and an 'enable' that runs at
> the desired clock speed.  I've successfully used this technique to
> divide the Spartan 3E 50MHz clock down to 230Khz for serial port
> transmission.
>
> I'd be happy to provide the entity which produces the 'enable' signal
> and an example of how to use it if you're interested.

please provide,
I have currently been using a divided clock for spi-modules when I run
into the problem of not having any more clock-buffer ressources in the
spartan-3dsp that I am using. I developed a clock enabler circuit that
was basically a counter and a pulse shortener to have an enable pulse
that is 1 sys_clk wide every nth sys_clk period, where n is number of
division. In my case 16.
The shift registers and the state machine gets this 16ths enable to
catch data on the sys_clk rising edge.

Pulse shortener is made with one flip-flop clocked by sys_clk taking
qn to and with sys_clk. Both the counter and the pulse shortener is
clocked by the negative edge of sys_clk to have the clock enable
signal high when rising_edge on sys_clk happens. (Does using negative
edge (inverted sys_clk) need another clock buffer?)

Now I have the issue that the SPI sclk that I generate needs to have a
clock enable that is double the rate of the one that enables the shift
registers in order to enable sclk toggling between the shift register
clock enables. This seems like an awful lot of extra code (and logic)
just to avoid spending a global clock buffer or risk hazards by using
local nets and use the good old if risng_edge(sclk) then.... I could
surely add another pulse shortener to the counter as the higher
frequencies are available but I wonder if that is the best way to do
it. I don't have enough DCMs to spend one on each SPI. We need them
for FIR filters.

I think I have understood the benefits of using clock enable, both
through not having enough ressources and through different postings in
webforums, so I sat down and coded and coded but didn't really like
what I saw as a result.

I have searched on the net for some hours without finding any document
that really shows a best-practices solution on how to generate and use
clock enables for peripheral serial devices. I really wonder why. It
is not rocket science, is it?

--
Svenn



Article: 135426
Subject: Re: Xilinx device not listed
From: Mike Treseler <mtreseler@gmail.com>
Date: Wed, 01 Oct 2008 13:43:36 -0700
Links: << >>  << T >>  << A >>
FP wrote:

> I have a quick question. I dont see Xilinx Virtex -5 sx95t device in
> the list of devices in Xilinx ISE and CoreGen. How do I fix this
> issue? I have unistalled and reinstalled ISE.

Maybe you are using webpack.
See:
http://www.xilinx.com/ise_eval/index.htm


Article: 135427
Subject: Re: Xilinx device not listed
From: FP <FPGA.unknown@gmail.com>
Date: Wed, 1 Oct 2008 13:46:43 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 1, 4:43=A0pm, Mike Treseler <mtrese...@gmail.com> wrote:
> FP wrote:
> > I have a quick question. I dont see Xilinx Virtex -5 sx95t device in
> > the list of devices in Xilinx ISE and CoreGen. How do I fix this
> > issue? I have unistalled and reinstalled ISE.
>
> Maybe you are using webpack.
> See:http://www.xilinx.com/ise_eval/index.htm

Thank you for your quick reply. I am using Webpack.

Article: 135428
Subject: Re: which FPGA chip to use for FFT?
From: Gabor <gabor@alacron.com>
Date: Wed, 1 Oct 2008 14:12:41 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 1, 5:53=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> me_rythm wrote:
> > I have made a program which calculate FFT of two images (1024X1024) and
> > then convolve them. I wish to know which FPGA chips would be best for t=
his
> > task, I want the result of the algorithm in real time (more than 30hz).=
 It
> > takes around 10 seconds on my machine(AMD 1.8 Ghz Dual Core) for just o=
ne
> > convolution of both the images. I am thinking to use xilinx XC3S500E (5=
00k
> > gates). I have no experience in FPGA, if anyone can help me i would rea=
lly
> > appreciate.
>
> You would do better to post in comp.arch.fpga. =A0(added)
>
> How many bits per sample? =A0Are you using the SSE feature
> of the AMD machine? =A0That lets you process multiple 8 bit
> values in one instruction, but might require assembly coding.
>
> I suggest looking at the systolic array architecture as
> it works well for many problems like this. =A0You don't really
> need FPGA experience, but digital logic experience helps a lot.
>
> Could you build such a device out of 7400 series TTL?
> If so, you can figure out how to do it in an FPGA, but much
> faster (in your time) and cheaper. =A0The thought process is
> very different from C coding.
>
> Is this a commercial product or a class project?
>
> -- glen

Did you take a look at this document?

http://www.xilinx.com/support/documentation/ip_documentation/xfft_ds260.pdf

To achieve the speed you need you may need a much larger part or one
with
more block RAM and multiplier resources.

Article: 135429
Subject: Re: which FPGA chip to use for FFT?
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Wed, 01 Oct 2008 13:53:36 -0800
Links: << >>  << T >>  << A >>
me_rythm wrote:

> I have made a program which calculate FFT of two images (1024X1024) and
> then convolve them. I wish to know which FPGA chips would be best for this
> task, I want the result of the algorithm in real time (more than 30hz). It
> takes around 10 seconds on my machine(AMD 1.8 Ghz Dual Core) for just one
> convolution of both the images. I am thinking to use xilinx XC3S500E (500k
> gates). I have no experience in FPGA, if anyone can help me i would really
> appreciate. 

You would do better to post in comp.arch.fpga.  (added)

How many bits per sample?  Are you using the SSE feature
of the AMD machine?  That lets you process multiple 8 bit
values in one instruction, but might require assembly coding.

I suggest looking at the systolic array architecture as
it works well for many problems like this.  You don't really
need FPGA experience, but digital logic experience helps a lot.

Could you build such a device out of 7400 series TTL?
If so, you can figure out how to do it in an FPGA, but much
faster (in your time) and cheaper.  The thought process is
very different from C coding.

Is this a commercial product or a class project?

-- glen


Article: 135430
Subject: Re: Gee Thanks Altera, I really enjoy having a break waiting on your
From: LittleAlex <alex.louie@email.com>
Date: Wed, 1 Oct 2008 15:28:32 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 1, 10:44 am, cs_post...@hotmail.com wrote:
> Project behind schedule... but Quartus decides that today is the day
> to demand a new license file.
>
> Which the server has promised but not yet mailed.
>
> Don't you just love control-freak software?

Note to self:  Next time don't ignore the "your license will expire in
xx days" messages.

Article: 135431
Subject: Re: Xilinx device not listed
From: Ed McGettigan <ed.mcgettigan@xilinx.com>
Date: Wed, 01 Oct 2008 15:59:07 -0700
Links: << >>  << T >>  << A >>
FP wrote:
> On Oct 1, 4:43 pm, Mike Treseler <mtrese...@gmail.com> wrote:
>> FP wrote:
>>> I have a quick question. I dont see Xilinx Virtex -5 sx95t device in
>>> the list of devices in Xilinx ISE and CoreGen. How do I fix this
>>> issue? I have unistalled and reinstalled ISE.
>> Maybe you are using webpack.
>> See:http://www.xilinx.com/ise_eval/index.htm
> 
> Thank you for your quick reply. I am using Webpack.

This devices is not supported in the Webpack version.  You need the full 
software version to use a XC5VSX95T device.

Ed McGettigan
--
Xilinx Inc.

Article: 135432
Subject: Re: Problem with mpmc(4.02.a) simulation -- DDR never initializes
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Thu, 02 Oct 2008 00:33:17 +0100
Links: << >>  << T >>  << A >>
On Wed, 1 Oct 2008 08:14:38 -0700 (PDT), Gabor <gabor@alacron.com>
wrote:

>On Sep 30, 4:53 am, Brian Drummond <brian_drumm...@btconnect.com>
>wrote:

>> To be honest, 580 us would surprise me too, but I don't know the
>> internal details of MPMC. If it needs some intervention from the host
>> (PPC or Microblaze), that would explain it.
>>
>> I would also double-check what is happening with C_SKIP_SIM_INIT_DELAY.
>> Does initialisation take another 200 us without it?
>>
>> Anyway I am glad the simulation is basically working.
>>
>> - Brian
>
>I have seen similar timing with MIG 2.2 and DDR 2 memory attached to a
>Virtex 5.
>
>It seems that the controller does a lot of calibration cycles to the
>DRAM.  I don't
>think that the 200 uS startup delay was included as I also set the
>appropriate
>bit to skip it during simulation. 

Good answer to both questions; I think we have an explanation for the
long startup time, and verified that it cannot easily be further
reduced.

- Brian

Article: 135433
Subject: Re: Xilinx Timing constraint problems
From: "Greg Daughtry" <greg.daughtry@xilinx.com>
Date: Wed, 1 Oct 2008 17:57:33 -0600
Links: << >>  << T >>  << A >>
Rob,

Can you post a snippet of the failing path trace from TWR?  Is the clock 
requirement 4X of the TS_SYS_CLK timespec as this multicycle exception is 
indicating?  When you say the constraint is being ignored, what exactly do 
you mean?  Are you looking for a header for the TS_MC_PHY_INIT_DATA_SEL_0, 
or are you seeing violations on paths that start from the 
*/u_phy_init/u_ff_phy_init_data_sel instance?

'Greg

Bring up this design in PlanAhead and search for the instances to make sure 
nothing simply like hierarchy separators is messing up the constraint?

'Greg

"Rob" <BertyBooster@googlemail.com> wrote in message 
news:014cfdc3-140e-49aa-aa0c-d2c5f76d1f7f@a1g2000hsb.googlegroups.com...
> Hi all,
>
> I'm having problems with ISE seemingly ignoring timing constraints set
> in the UCF file. One of the constraints ignored comes from Xilinx's
> MIG tool and looks like this:
>
> INST "*/u_phy_init/u_ff_phy_init_data_sel" TNM =
> "TNM_PHY_INIT_DATA_SEL";
> TIMESPEC "TS_MC_PHY_INIT_DATA_SEL_0" = FROM "TNM_PHY_INIT_DATA_SEL" TO
> FFS
> "TS_SYS_CLK" * 4;
>
> I'm not getting any errors, such as unable to locate nets, rather the
> constraint seems ignored and looking in the timing report it is these
> very paths that are failing (by a long way). I thought that if the
> target nets don't exist then you get a translate error.
>
> I am using partitions in the design. I've tried to do a build after a
> "clean up project files" and the constraint is still ignored.
>
> Any ideas?
>
> Rob 



Article: 135434
Subject: Re: pciAutoConfiguration on MVME5500
From: "cwoodring" <cwoodring@cox.net>
Date: Wed, 1 Oct 2008 20:28:41 -0400
Links: << >>  << T >>  << A >>
To Group,
    Sorry, I accidentally sent this to the wrong group.

CTW

>
>
> Hi everyone,
>
> I'm having a hell of a time trying to get an a/d pmc module working on a
> PMC_SPAN extension card on a MVME 5500 motherboard.  I have the 2 PMC 
> slots
> on the 5500 card populated with 2 VMetro FPGA01 PMC cards and they seem to
> work ok. After the system boots and  I do a PCIDeviceShow(0) and I see
> devices 0 (host PCI bridge?),6 (First FPGA01 card) and 10 (PCI2PCI 
> Bridge).
> PCIDeviceShow(1) shows devices 0,6 and 10 also with 6 being the 2nd FPGA01
> card.
> PCIDeviceShow(2) or (3) show no signs of my a/d card?
>
> I've attached a PDF file that shows the internal debug statements 
> generated
> during autoconfiguration.  In it certainly looks like device 10 on bus 0 
> is
> acting as a bridge to the a/d card and it looks like it is being 
> configured
> ok as far as I can tell. However after VxWorks boots I have tried using
> PCIFindDevice with the Vendor Id etc. to find the a/d card without 
> success.
> I can use the input output calls (pciConfigWordLongIn/out etc) to talk to
> the FPGA01 cards but not the a/d. It seems like the bridge is not working
> but it seemed to work ok during auto config?
>
> Does anyone see what might be going on from the included dump file?
>
> Any help is appreciated.
>
> Chuck W.
>
>
> 



Article: 135435
Subject: Re: Sending UDP packets over Ethernet
From: "Hansang Bae" <justgoogleme@google4me.com>
Date: Wed, 01 Oct 2008 21:23:01 -0500
Links: << >>  << T >>  << A >>
glen herrmannsfeldt wrote:
> > I think ICMP Source has been deprecated for more than 20 years.  See
> > http://www.google.com/search?q=icmp+source+quench+deprecated
> 
> Is it that long ago?
> 
> I remember trying to ftp a new version of NCSA Telnet to a PC,
> (all the way from NCSA), the PC sending out source quench as
> fast as it could, as its buffers kept overrunning.  That would
> have been a little less than 20 years ago.
> 
> Many early PC ethernet cards had small buffers.

Geesh!  I just read a post by Dan Lanciani and it made me think of all
the installs I did with Crynwr pkt drivers and BYU's IPX.

Then I come here and I'm treated to another trip down the memory lane
with NCSA Telnet!  ;)

I wonder if I'll now run into someone asking a question about Pegasus
Mail, Spyder analyzers, and Coherent (Unix clone)  Or a flame war will
break about about Kermit being superior to NCSA Telnet!  ;)

-- 

hsb


"Somehow I imagined this experience would be more rewarding" Calvin
********************************************************************
Due to the volume of email that I receive, I may not be able to
reply to emails sent to my account. Please post a followup instead.
********************************************************************

Article: 135436
Subject: Re: Interfacing DDR RAM
From: "msfarooq87@gmail.com" <msfarooq87@gmail.com>
Date: Thu, 2 Oct 2008 00:42:42 -0700 (PDT)
Links: << >>  << T >>  << A >>
> > Rob wrote:
>
> You may also want to use an older version of EDK that supports the
> V2 PRO if you don't want to update the hardware

I have used the library for the board which has all the specifications
of the board, well i have shifted myself to 9.1i and the library is
working fine...rob have u got any tutorials or materials in order to
interface DDR..plz mail me


Article: 135437
Subject: Re: Interfacing DDR RAM
From: "msfarooq87@gmail.com" <msfarooq87@gmail.com>
Date: Thu, 2 Oct 2008 00:44:51 -0700 (PDT)
Links: << >>  << T >>  << A >>
ooppsss sorry the last msg was for gabor...im so screwed up with this
stuff rob u r right man this is really really tricky...the more i get
into it the more its getting complicated...

Article: 135438
Subject: Re: Interfacing DDR RAM
From: "msfarooq87@gmail.com" <msfarooq87@gmail.com>
Date: Thu, 2 Oct 2008 00:49:57 -0700 (PDT)
Links: << >>  << T >>  << A >>
> > DDR interfaces on V2Pro devices is tricky, although do-able.

well if u say they r do able then u may help me in this regard...

> > Unfortunately it looks as though Xilinx have stopped supporting this.
> >www.xilinx.com/memory nolonger mentions the V2.

then wat is the possible solution for this??

> > How fast are you hoping to run the memory? Is it possible to use the
> > Virtex-4 or Virtex-5 instead?

sir, im using 512MB DDR RAM...virtex 4 and virtex 5 may not be the
options available to me as i have the hardware and im not willing to
waste it and buy new board for virtex 4 or 5...

Article: 135439
Subject: floating point round off errors
From: "jack.harvard@googlemail.com" <jack.harvard@googlemail.com>
Date: Thu, 2 Oct 2008 00:51:21 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,

I implemented some single precision floating point units in FPGA (IEEE
754 fully compliant) to calculate some complex mathematical equations,
meanwhile, to debug the design modules, I've also got the C source
code implementing the equations, with all the variables defined in
single precision floating point. The Verilog code should have the same
precision as I would expect from the C code. However, I found there
are differences between the results generated from FPGA and C, the
precision is about 10**(-5), I suppose this could be caused by round
off errors. In Verilog, the round off is implemented as "round to the
nearest (if equal, round to even)", just wondering when it is done in
C, how the round off works, and how AMD/Intel processor does the round
off for single precision floating point?

thank you/merci/danke,
-j

Article: 135440
Subject: Re: reasonable timing analysis without mapping design to IO
From: Markus <none@nowhere.org>
Date: Thu, 02 Oct 2008 10:30:29 +0200
Links: << >>  << T >>  << A >>
Heiner Litz schrieb:
> thanks @all
> 
> I have already worked with with wrapper files, however found it too
> time consuming to handle all the inputs/outputs.
> 
> I will try a wrapper with only clk/res as IO and then use the KEEP
> directive.
> 
> heiner
> 

You can disable the automated insertion of IO symbols with XST. To prevent
the mapped from throwing away all logic from your design, disable the "trim
unconnected signals" in ISE.

> On Oct 1, 1:25 am, Andy <jonesa...@comcast.net> wrote:
>> On Sep 30, 2:27 pm, Kevin Neilson
>>
>>
>>
>> <kevin_neil...@removethiscomcast.net> wrote:
>>> Heiner Litz wrote:
>>>> Hi,
>>>> I want to perform reasonable post place&route timing analysis for some
>>>> RTL modules. The modules have a higher pin count as the FPGA itself.
>>>> ISE always tries to map the modules I/Os to specific IO pads, so its
>>>> not possible to make post P&R timing analysis for such (internally
>>>> used) modules.
>>>> The post synthesis timing is unrealistic, so how can I get a timing
>>>> estimation including wire delay for dedicated modules?
>>>> Any ideas?
>>> If the problem is that you don't have enough pins on the device, you
>>> could make sure all the I/O are registered, instruct the synthesizer not
>>> to add IOB pads, and put syn_keep or syn_preserve (or whatever) HDL
>>> directives on the I/O registers to make sure they don't get pruned.
>>> Then you could have a static timing analysis even though no pins are
>>> connected.  You won't be able to easily use this for a simulation, since
>>> none of the I/Os will come out to top-level ports.  -Kevin
>> No, just turn all those external registers into a parallel/serial
>> shift register, and only output the serial output.
>>
>> Reverse for the input: serial/parallel shift register, and the only
>> chip-level input is the serial input.
>>
>> A clock, input and output pin; should fit in anything.
>>
>> Andy
> 

Article: 135441
Subject: Re: floating point round off errors
From: "Göran Bilski" <goran.bilski@xilinx.com>
Date: Thu, 2 Oct 2008 10:57:36 +0200
Links: << >>  << T >>  << A >>
Hi,

Have you implemented the sticky bit in your verilog implementation?
Normally three more bits are added to the mantissa used internally.
These bits are Guard, Round and Sticky.
Guard and Round are just bit 25 and bit 26 of the mantissa.
The sticky bit is an OR of all signals passed bit 27.

The sticky bit is needed to have a correct rounding.

Göran Bilski


<jack.harvard@googlemail.com> wrote in message 
news:24a86a51-5aa4-4086-bfb4-a5b027bbf42c@f36g2000hsa.googlegroups.com...
> Hi,
>
> I implemented some single precision floating point units in FPGA (IEEE
> 754 fully compliant) to calculate some complex mathematical equations,
> meanwhile, to debug the design modules, I've also got the C source
> code implementing the equations, with all the variables defined in
> single precision floating point. The Verilog code should have the same
> precision as I would expect from the C code. However, I found there
> are differences between the results generated from FPGA and C, the
> precision is about 10**(-5), I suppose this could be caused by round
> off errors. In Verilog, the round off is implemented as "round to the
> nearest (if equal, round to even)", just wondering when it is done in
> C, how the round off works, and how AMD/Intel processor does the round
> off for single precision floating point?
>
> thank you/merci/danke,
> -j 



Article: 135442
Subject: Re: Low frequency clock generation - need help
From: "Symon" <symon_brewer@hotmail.com>
Date: Thu, 2 Oct 2008 10:13:20 +0100
Links: << >>  << T >>  << A >>
Svenn Are Bjerkem wrote:
>
> I think I have understood the benefits of using clock enable, both
> through not having enough ressources and through different postings in
> webforums, so I sat down and coded and coded but didn't really like
> what I saw as a result.
>
> I have searched on the net for some hours without finding any document
> that really shows a best-practices solution on how to generate and use
> clock enables for peripheral serial devices. I really wonder why. It
> is not rocket science, is it?

Hi Svenn,
No it's not. Try something like this...

gen_enable : process(clk, res_n)
  begin
    if res_n = 0 then
      count <= 0;
      enable <= '0';
    elsif rising_edge(clk) then
      count <= (count + 1) mod 16;
      if count = 15 then
        enable <= '1';
      else
        enable <= '0';
      end if;
    end if;
  end process;


do_stuff : process(clk, res_n)
  begin
    if res_n = 0 then
--    insert resets here
    elsif rising_edge(clk) then
      if enable = '1' then
--      insert enabled code here
      end if;
    end if;
  end process;

HTH., Syms. 



Article: 135443
Subject: Re: floating point round off errors
From: Andreas Ehliar <ehliar-nospam@isy.liu.se>
Date: Thu, 2 Oct 2008 09:14:31 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2008-10-02, jack.harvard@googlemail.com <jack.harvard@googlemail.com> wrote:
> nearest (if equal, round to even)", just wondering when it is done in
> C, how the round off works, and how AMD/Intel processor does the round
> off for single precision floating point?

You can actually control this on the x86 architecture. In C99 the function
fesetround() can control this behavior according to the man page I'm reading
on my Linux machine.

/Andreas

Article: 135444
Subject: Standalone Altera production programmer
From: news@rblack01.plus.com
Date: Thu, 2 Oct 2008 04:00:38 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,

Does anybody make a standalone (i.e. non PC-based) programmer for
Altera devices?
Our product uses a Cyclone which loads its config from a EPCS1 1-Mbit
EEPROM at power-up.  To program the EEPROM in production we are using
a PC running Quartus, and a ByteBlaster.  This works OK, but is a bit
cumbersome and prone to error (e.g. operator selects wrong object
file)

To program the Microchip PICs in the same product we use a fag-packet
sized programmer from www.kanda.com - these are battery powered, data
downloaded via a cable from a PC, the only user interface is one
button and a green/red LED, completely idiot-proof.

I've been trying to find an equivalent product for Altera devices,
without success.  I'm now considering making one for my own use, based
on an MCU + external Flash chip.  If I did, would it be worth selling?


Article: 135445
Subject: Re: Low frequency clock generation - need help
From: KJ <kkjennings@sbcglobal.net>
Date: Thu, 2 Oct 2008 04:38:57 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 1, 4:33=A0pm, Svenn Are Bjerkem <svenn.bjer...@googlemail.com>
wrote:
> On Sep 30, 6:01 am, thutt <thutt...@comcast.net> wrote:
> I have currently been using a divided clock for spi-modules when I run
> into the problem of not having any more clock-buffer ressources in the
> spartan-3dsp that I am using. I developed a clock enabler circuit that
> was basically a counter and a pulse shortener to have an enable pulse
> that is 1 sys_clk wide every nth sys_clk period, where n is number of
> division. In my case 16.

Sounds good.

> The shift registers and the state machine gets this 16ths enable to
> catch data on the sys_clk rising edge.
>
> Pulse shortener is made with one flip-flop clocked by sys_clk taking
> qn to and with sys_clk. Both the counter and the pulse shortener is
> clocked by the negative edge of sys_clk to have the clock enable
> signal high when rising_edge on sys_clk happens. (Does using negative
> edge (inverted sys_clk) need another clock buffer?)
>

No, but it is also unneeded and not helpful to use the negative edge
of the clock.  You should be using the rising edge for the clock
enable, using the negative edge simply cuts down by 1/2 the max clock
rate that you can run the design at.

> Now I have the issue that the SPI sclk that I generate needs to have a
> clock enable that is double the rate of the one that enables the shift
> registers in order to enable sclk toggling between the shift register
> clock enables.

So you need something that fires at 8 as well as 16.

> This seems like an awful lot of extra code (and logic)

A lot??  Once you have the counter to count your longest period
enable, adding additional count enables is simply adding a couple
lines of code.  In the example below, signal 'ce2' which occurs every
8th clock cycle added one more case to the case statement, and three
assignments.  This will get implemented as a simple decode of the
counter states, each clock enable will be implemented in a single
logic cell.

if rising_edge(clock) then
  if (reset =3D '1') or (count =3D 15) then
    count <=3D 0;
  else
    count <=3D count + 1;
  end if;
  case count is
    when 7 =3D> ce2 <=3D '1';
    when 15 =3D> ce1 <=3D '1'; ce2 <=3D '1';
    when others =3D> ce1 <=3D '0'; ce2 <=3D '0';
  end case;
end if;

> just to avoid spending a global clock buffer or risk hazards by using
> local nets and use the good old if risng_edge(sclk) then....

The issue is being able to pass timing analysis and reliably crossing
clock domains when you generate multiple clocks.

> I could
> surely add another pulse shortener to the counter as the higher
> frequencies are available but I wonder if that is the best way to do
> it. I don't have enough DCMs to spend one on each SPI. We need them
> for FIR filters.

I have no idea why you are using any DCMs for SPI.  At the start you
said that you had implemented the counter and clock enable both
running off of the system clock.  In any case, it is simple to add
whatever additional clock enables you may need.

>
> I think I have understood the benefits of using clock enable, both
> through not having enough ressources and through different postings in
> webforums, so I sat down and coded and coded but didn't really like
> what I saw as a result.
>

What did you see?  Why did you not like it?

> I have searched on the net for some hours without finding any document
> that really shows a best-practices solution on how to generate and use
> clock enables for peripheral serial devices.

You didn't look too hard then.  Symon reply also shows how to generate
and use the clock enables.

> I really wonder why. It
> is not rocket science, is it?
>

Not rocket science, just simple sequential boolean logic.

KJ

Article: 135446
Subject: Re: Standalone Altera production programmer
From: Rob <buzoff@leavemealone.com>
Date: Thu, 02 Oct 2008 07:41:16 -0400
Links: << >>  << T >>  << A >>


news@rblack01.plus.com wrote:
> Hi,
> 
> Does anybody make a standalone (i.e. non PC-based) programmer for
> Altera devices?
> Our product uses a Cyclone which loads its config from a EPCS1 1-Mbit
> EEPROM at power-up.  To program the EEPROM in production we are using
> a PC running Quartus, and a ByteBlaster.  This works OK, but is a bit
> cumbersome and prone to error (e.g. operator selects wrong object
> file)
> 
> To program the Microchip PICs in the same product we use a fag-packet
> sized programmer from www.kanda.com - these are battery powered, data
> downloaded via a cable from a PC, the only user interface is one
> button and a green/red LED, completely idiot-proof.
> 
> I've been trying to find an equivalent product for Altera devices,
> without success.  I'm now considering making one for my own use, based
> on an MCU + external Flash chip.  If I did, would it be worth selling?
> 

If you're in development, why is the Byteblaster cumbersome--I don't 
find it to be so.  And when you transfer to production, Altera can ship 
your flash device pre-programmed.

Article: 135447
Subject: Re: Xilinx device not listed
From: Gabor <gabor@alacron.com>
Date: Thu, 2 Oct 2008 05:29:44 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 1, 6:59=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
> FP wrote:
> > On Oct 1, 4:43 pm, Mike Treseler <mtrese...@gmail.com> wrote:
> >> FP wrote:
> >>> I have a quick question. I dont see Xilinx Virtex -5 sx95t device in
> >>> the list of devices in Xilinx ISE and CoreGen. How do I fix this
> >>> issue? I have unistalled and reinstalled ISE.
> >> Maybe you are using webpack.
> >> See:http://www.xilinx.com/ise_eval/index.htm
>
> > Thank you for your quick reply. I am using Webpack.
>
> This devices is not supported in the Webpack version. =A0You need the ful=
l
> software version to use a XC5VSX95T device.
>
> Ed McGettigan
> --
> Xilinx Inc.

This sort of issue pops up a lot on the Xilinx forums.  Perhaps the
WebPack download page should have a more evident link to the device
support on the Xilinx site.  I found the information in the ISE Design
Suite release notes, but it isn't obvious to the average WebPack
user (read newbie) that you need to search around for this
information.

Just my 2 cents,
Gabor

Article: 135448
Subject: Re: Low frequency clock generation - need help
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Thu, 02 Oct 2008 13:52:06 +0100
Links: << >>  << T >>  << A >>
On Thu, 2 Oct 2008 10:13:20 +0100, "Symon" <symon_brewer@hotmail.com>
wrote:

>Svenn Are Bjerkem wrote:
>>
>> I think I have understood the benefits of using clock enable, both
>> through not having enough ressources and through different postings in
>> webforums, so I sat down and coded and coded but didn't really like
>> what I saw as a result.
>>
>> I have searched on the net for some hours without finding any document
>> that really shows a best-practices solution on how to generate and use
>> clock enables for peripheral serial devices. I really wonder why. It
>> is not rocket science, is it?
>
>Hi Svenn,
>No it's not. Try something like this...
>
>gen_enable : process(clk, res_n)
>  begin
>    if res_n = 0 then
>      count <= 0;
>      enable <= '0';
>    elsif rising_edge(clk) then
>      count <= (count + 1) mod 16;
>      if count = 15 then
>        enable <= '1';
>      else
>        enable <= '0';
>      end if;
>    end if;
>  end process;

or: (2 changes; (a) using default initialisations 
(b) extend by adding a 2x clock enable)

gen_enable : process(clk, res_n)
  begin
    if res_n = 0 then
      count <= 0;
      enable <= '0';
      enable_2x <= '0';
    elsif rising_edge(clk) then
      enable <= '0';
      enable_2x <= '0';
      count <= (count + 1) mod 16;
      if count = 15 then
        enable <= '1';
      -- else
      --  enable <= '0';
      end if;
      if count(2 downto 0) = 7 then
		-- = 3 for a 90 degree phase shift
        enable_2x <= '1';
      end if;
    end if;
  end process;

Hardware generated by any of these is tiny; too small to be worth
worrying about unless your target is a PAL16V8.

- Brian

Article: 135449
Subject: Re: floating point round off errors
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Thu, 02 Oct 2008 14:08:00 +0100
Links: << >>  << T >>  << A >>
On Thu, 2 Oct 2008 00:51:21 -0700 (PDT), "jack.harvard@googlemail.com"
<jack.harvard@googlemail.com> wrote:

>Hi,
>
>I implemented some single precision floating point units in FPGA (IEEE
>754 fully compliant) to calculate some complex mathematical equations,
>meanwhile, to debug the design modules, I've also got the C source
>code implementing the equations, with all the variables defined in
>single precision floating point. The Verilog code should have the same
>precision as I would expect from the C code. However, I found there
>are differences between the results generated from FPGA and C, the
>precision is about 10**(-5), I suppose this could be caused by round
>off errors. In Verilog, the round off is implemented as "round to the
>nearest (if equal, round to even)", just wondering when it is done in
>C, how the round off works, and how AMD/Intel processor does the round
>off for single precision floating point?

The Intel processor implements all the rounding modes specified in P754.
How you actually select them is another matter.

If you haven't already found Prof. Kahan's papers on P754, do so...

Unfortunately C is a TERRIBLE language for this purpose (working in
single precision floating point); the Visual C compilers especially so;
they take liberties with precision, tending to assume you really want
double precision and silently implementing it for you...

... then by forcing data into volatile "float" variables, you finally
get your code to round as expected. Then you decide to abstract over it
with a function, and....

C specifies that float arguments passed to functions are automagically
coerced into doubles, so your code automagically breaks again...

Personally I wouldn't worry about the Verilog unless you are ABSOLUTELY
CERTAIN the C code is doing EXACTLY what you expect...

it may turn out that the Verilog implementation is accumulating single
precision float rounding errors exactly as it should, while the C code
is assuming you didn't want what you asked for and giving you double
precision instead.

- Brian
(no I don't much like C; why do you ask? :-)



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