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 55650

Article: 55650
Subject: Re: how to calculate the gate count required for a FPGA design
From: hmurray@suespammers.org (Hal Murray)
Date: Thu, 15 May 2003 02:57:55 -0000
Links: << >>  << T >>  << A >>
>   Number of Slices:                192 out of    192  100%
>   Number of Slice Flip Flops:      292 out of    384   76%
>   Total Number 4 input LUTs:       339 out of    384   88%
>   Number of bonded IOBs:            69 out of     86   80%
>   Number of Tbufs:                  16 out of    224    7%
>   Number of Block RAMs:              3 out of      4   75%
>   Number of GCLKs:                   4 out of      4  100%
>   Number of GCLKIOBs:                4 out of      4  100%

Don't like Tbufs?  :)

-- 
The suespammers.org mail server is located in California.  So are all my
other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 55651
Subject: Re: how to calculate the gate count required for a FPGA design
From: H. Peter Anvin <hpa@zytor.com>
Date: 14 May 2003 21:35:30 -0700
Links: << >>  << T >>  << A >>
Followup to:  <3EC2AF0E.331C@designtools.co.nz>
By author:    jim.granville@designtools.co.nz
In newsgroup: comp.arch.fpga
>
> Ray Andraka wrote:
> > 
> <snip>
> > Design Summary
> > --------------
> >    Number of errors:      0
> >    Number of warnings:  147
> >    Number of Slices:                192 out of    192  100%
> >    Number of Slices containing
> >       unrelated logic:               34 out of    192   17%
> 
>  :)) - amusing choice of words, just what can 'containing unrelated
> logic'
>        mean!.
> 
>  One would hope that all logic was related to the design ?
> 

"Unrelated logic" seems to mean that the fitter has packed more than
one piece of logic into the same slice without there being any
particular connection between them.  A high number here *might* mean
that you're starting to be capacity-constrained, and that your timings
will start to suffer.

	-hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64

Article: 55652
Subject: Re: VitalGlitch
From: tatto0_2000@yahoo.com (Wong)
Date: 14 May 2003 21:47:07 -0700
Links: << >>  << T >>  << A >>
Hi Mike,
  Here's the code. Its fine with the functional simulation but after
P&R, I have the problems as mentioned. Thanks.

library ieee;
use ieee.std_logic_1164.all;

entity mooredemo is
port (
        output          : out std_logic_vector ( 1 downto 0 );
        clk, rst, input : in std_logic
     );
end;

architecture arch of mooredemo is

type statetype is (S0,S1,S2,S3);

signal current_state, next_state : statetype;

begin

sequential_proc : process (rst, clk)
begin
    if rst = '0' then
        current_state <= S0;
    elsif clk'event and clk = '1' then
        current_state <= next_state;
    end if;
end process;

combinational_proc : process ( current_state, input )
begin
    case current_state is
        when S0 => if input = '1' then
                        next_state <= S1;
                        output <= "00";
                   else
                        next_state <= S0;
                        output <= "11";
                   end if;

        when S1 => if input = '0' then
                        next_state <= S2;
                        output <= "01";
                   else
                        next_state <= S1;
                        output <= "00";
                   end if;

        when S2 => if input = '1' then
                        next_state <= S3;
                        output <= "10";
                   else
                        next_state <= S2;
                        output <= "01";
                   end if;

        when S3 => if input = '1' then
                        next_state <= S0;
                        output <= "11";
                   else
                        next_state <= S3;
                        output <= "10";
                   end if;

        when others => next_state <= S0;
                        output <= "11";
    end case;
end process;
end arch;

Article: 55653
Subject: Re: how to calculate the gate count required for a FPGA design
From: nweaver@ribbit.CS.Berkeley.EDU (Nicholas C. Weaver)
Date: Thu, 15 May 2003 04:49:04 +0000 (UTC)
Links: << >>  << T >>  << A >>
In article <3EC2A28D.BE2641B@andraka.com>,
Ray Andraka  <ray@andraka.com> wrote:
>   Total Number 4 input LUTs:       339 out of    384   88%
>      Number used as LUTs:                        229
>      Number used as Shift registers:             110

HA, less than 1/2 are used as SRLs.  Why you complainin about 
Spartan 3's 1/2 capacity of SRLs anyway?  :)

-- 
Nicholas C. Weaver                                 nweaver@cs.berkeley.edu

Article: 55654
Subject: Re: VitalGlitch
From: tatto0_2000@yahoo.com (Wong)
Date: 14 May 2003 22:25:12 -0700
Links: << >>  << T >>  << A >>
Muzaffer Kal <kal@dspia.com> wrote in message news:<7ev4cv8kt30u4ltkisda3l6jtevjss68nk@4ax.com>...
> On 13 May 2003 19:15:15 -0700, tatto0_2000@yahoo.com (Wong) wrote:
> 
> >Hi Mike,
> >  Thanks for the pointer. But what if I have a synchronous design or
> >output registers and the device pins (make it simple, let say 2 bit
> >bus) still glitchy ? For example, I have the following SDF :
> 
> If you're talking about the outputs of the registers arriving at the
> pins at different times, you can't avoid it completely. The best you
> can do is to instantiate the output registers at known locations
> (better yet, use the flops in the IOs) and make sure that the loads of
> the registers are the same (mainly the IO input capacitance). In that
> case, the two outputs are as balanced as they can get and the rest has
> to be tolerated by receiving logic.

  I think you are talking about the IOB using Xilinx FPGAs, correct?
Since I am doing the P&R using anti-fuse FPGAs and I might not be able
to find the flops in the IOs except the loading(capacitance) of the
'output buffers'. Anyhow, thanks Muzaffer.

> 
> Muzaffer Kal
> 
> http://www.dspia.com
> ASIC/FPGA design/verification consulting specializing in DSP algorithm implementations

Article: 55655
Subject: multiplexing resources in xilinx fpga
From: jeffry15@rediffmail.com (john paul)
Date: 14 May 2003 22:34:18 -0700
Links: << >>  << T >>  << A >>
hi

 i need some help on how to multiplex multipliers( and other inbuilt
resources)
used in different clock cycles, or if else statements.as in the
following code
 where my synthesis tool uses 12 multipliers( where only 4 is
needed,the multipliers here are 14-bit multipliers).i am using xilinx
virtex-II xc2v2000 fpga and xilinx ISE 2.3 is the synthesis tool.

if(sel="00") then
   sin1<=signed(s)*signed(cosine3(z(5)/2));
   sin2<=signed(c)*signed(si3(z(5)/2));
   cos1<=signed(c)*signed(cosine3(z(5)/2));
   cos2<=signed(s)*signed(si3(z(5)/2));
   si<=si3(z(5)/2);
   co<=cosine3(z(5)/2);
 

 elsif(sel="01") then

   sin1<=signed(s)*signed(cosine2(z(5)/2));
   sin2<=signed(c)*signed(si2(z(5)/2));
   cos1<=signed(c)*signed(cosine2(z(5)/2));
   cos2<=signed(s)*signed(si2(z(5)/2));
   si<=si2(z(5)/2);
   co<=cosine2(z(5)/2);

 else
   sin1<=signed(s)*signed(cosine1(z(5)/2));
   sin2<=signed(c)*signed(si1(z(5)/2));
   cos1<=signed(c)*signed(cosine1(z(5)/2));
   cos2<=signed(s)*signed(si1(z(5)/2));
   si<=si1(z(5)/2);
   co<=cosine1(z(5)/2);

 end if;

do let me know of any suggestions.
thanks
john

Article: 55656
Subject: Re: Exploting the DDR input registers in Virtex2
From: "John Daae" <john.daae@datarespons.no>
Date: Thu, 15 May 2003 08:36:58 +0200
Links: << >>  << T >>  << A >>
Hi Marc & Avrum,

Thanks for your time and advice.

I want to use the second IFF in IOB for sampling analyzing the PCI-X bus in
parallel to the PCI-X core. Unfortunately the PCI-X core use pci-rst as
asynchronous reset for the IFFs while I need to sample the bus correctly
also during pci-rst. This might be core of my problem. I thought I could
disable the asynchronous reset for one of the IFFs and keep it for the
other. Now, I tried this in FPGA Editor, which reports an error when I try
this.

Thanks anyway for your help. If still have any suggestions getting around
this problem that would be most welcome.



"Avrum" <avrum@REMOVEsympatico.ca> wrote in message
news:Lf6wa.1564$z13.321658@news20.bellglobal.com...
> Marc,
>
> It seems that you are right - the tools have some ability to use otherwise
> unused IOBs (bonded or unbonded) as resources.
>
> However, the answer to the original question is the same - if the IOB is
> used as an input (in the original posting it was used by the PCI-X core),
> the other INFF flop is only useable for clocking in data from the pin -
the
> D inputs of the two INFF flops are hard wired together.
>
> Avrum
>
>
> "Marc Randolph" <mrand@my-deja.com> wrote in message
> news:15881dde.0305122001.1f5946e9@posting.google.com...
> > "Avrum" <avrum@REMOVEsympatico.ca> wrote in message
> news:<XzRva.2205$mK2.183157@news20.bellglobal.com>...
> > > What do you want to do with the DDR flops. These are not general
purpose
> > > flops that can be used in place of a core flop; they are specifically
> there
> > > to clock the data on the input pin - the D input of both INFF flops in
> an
> > > IOB can ONLY be connected to the input receiver of the IOB.
> > >
> >
> > Howdy Avrum,
> >
> >    I don't believe this is correct.  Certainly, there are some
> > restrictions, but investigate the "use Bonded I/Os" option on the par
> > (Place & Route) program.
> >
> > In fact (I just discovered), it appears you can even use the registers
> > in UNbonded IOB's!  Learn something new everyday... see
> >
> >
>
http://support.xilinx.com/xlnx/xil_ans_display.jsp?iLanguageID=1&iCountryID=
> 1&getPagePath=12209
> >
> > for details (if the link wraps, click here instead:
> > http://tinyurl.com/bmb4 ).
> >
> > Have fun,
> >
> >    Marc
>
>



Article: 55657
Subject: Re: EDK under linux/wine - xflow problem
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Thu, 15 May 2003 07:50:27 +0000 (UTC)
Links: << >>  << T >>  << A >>
John Williams <jwilliams@itee.uq.edu.au> wrote:
:...
: I know you're a bit of an "ISE under linux" guru - are you able to run 
: xflow successfully?  I'm using fpga.flw, the implementation flow, and 
: fast_runtime.opt.

I must admit that I have no idea about xflow at all. I mostly use ISE or cut
and paste the commands from xxx..cmd_log.

Can you send me an example, an explication how to run, what result to expect
and what you consider an error. I then would try to have a look at the
problem.

Bye
-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Article: 55658
Subject: Moore Vs Mealy machine ..
From: "LIJO" <lijo_eceNOSPAM@hotmail.com>
Date: Thu, 15 May 2003 14:27:12 +0530
Links: << >>  << T >>  << A >>
hi all,
can anyone tell me which state machine is good (Moore or Mealy).. Why?

rgds,



Article: 55659
Subject: Re: multiplexing resources in xilinx fpga
From: Philip Freidin <philip@fliptronics.com>
Date: Thu, 15 May 2003 08:58:48 GMT
Links: << >>  << T >>  << A >>

Rewrite your code so that the if/elsif/else stuff just selects
the operands, then do the 4 multiplys outside this structure,
using the selected operands.

probably looks like this:

if(sel="00") then
   op1<=signed(cosine3(z(5)/2));
   op2<=signed(si3(z(5)/2));
   op3<=signed(cosine3(z(5)/2));
   op4<=signed(si3(z(5)/2));
   si<=si3(z(5)/2);
   co<=cosine3(z(5)/2);

 elsif(sel="01") then
   op1<=signed(cosine2(z(5)/2));
   op2<=signed(si2(z(5)/2));
   op3<=signed(cosine2(z(5)/2));
   op4<=signed(si2(z(5)/2));
   si<=si2(z(5)/2);
   co<=cosine2(z(5)/2);

 else
   op1<=signed(cosine1(z(5)/2));
   op2<=signed(si1(z(5)/2));
   op3<=signed(cosine1(z(5)/2));
   op4<=signed(si1(z(5)/2));
   si<=si1(z(5)/2);
   co<=cosine1(z(5)/2);

end if;


   sin1<=signed(s)*signed(op1);
   sin2<=signed(c)*signed(op2);
   cos1<=signed(c)*signed(op3);
   cos2<=signed(s)*signed(op4));


Philip Freidin


On 14 May 2003 22:34:18 -0700, jeffry15@rediffmail.com (john paul) wrote:
>hi
>
> i need some help on how to multiplex multipliers( and other inbuilt
>resources)
>used in different clock cycles, or if else statements.as in the
>following code
> where my synthesis tool uses 12 multipliers( where only 4 is
>needed,the multipliers here are 14-bit multipliers).i am using xilinx
>virtex-II xc2v2000 fpga and xilinx ISE 2.3 is the synthesis tool.
>
>if(sel="00") then
>   sin1<=signed(s)*signed(cosine3(z(5)/2));
>   sin2<=signed(c)*signed(si3(z(5)/2));
>   cos1<=signed(c)*signed(cosine3(z(5)/2));
>   cos2<=signed(s)*signed(si3(z(5)/2));
>   si<=si3(z(5)/2);
>   co<=cosine3(z(5)/2);
> 
>
> elsif(sel="01") then
>
>   sin1<=signed(s)*signed(cosine2(z(5)/2));
>   sin2<=signed(c)*signed(si2(z(5)/2));
>   cos1<=signed(c)*signed(cosine2(z(5)/2));
>   cos2<=signed(s)*signed(si2(z(5)/2));
>   si<=si2(z(5)/2);
>   co<=cosine2(z(5)/2);
>
> else
>   sin1<=signed(s)*signed(cosine1(z(5)/2));
>   sin2<=signed(c)*signed(si1(z(5)/2));
>   cos1<=signed(c)*signed(cosine1(z(5)/2));
>   cos2<=signed(s)*signed(si1(z(5)/2));
>   si<=si1(z(5)/2);
>   co<=cosine1(z(5)/2);
>
> end if;
>
>do let me know of any suggestions.
>thanks
>john

Philip Freidin
Fliptronics

Article: 55660
Subject: Do Service Pack of Xilinx really fixed the problems?
From: Isabel <isabel25@cuhk.edu.hk>
Date: Thu, 15 May 2003 17:02:43 +0800
Links: << >>  << T >>  << A >>
I am going to programme a 8x8 shared-buffer memory routing switch, and I 
am using Verilog on Xilinx Webpack 5.1i.

However, I encounter the following problem:

NgdBuild:755 - Line line_no in 'filename': Could not find net(s) 
'net_name' in the design.  To suppress this error use the -aul switch, 
specify the correct net name or remove the constraint.

I have found from the Xilinx Answer Database that the service pack has 
already fixed the problems. But I encounter the same error message after 
I have installed the service pack.

Can anyone please help me?

Thanks.

Isabel


Article: 55661
Subject: [Q] HowTo Speed Constraint Multiple Clock Constraints for Spartan-II
From: "Markus Meng" <meng.engineering@bluewin.ch>
Date: Thu, 15 May 2003 10:01:05 -0000
Links: << >>  << T >>  << A >>
Hi all,

my Spartan-II 2S200 has 7 different clock domains! Four of them use
the global clock buffers with speed ratio of 24, 48 and 96 MHz. I do
have 3 additional clock domains that do have minimal logic in a decoder
and must use others 'glock' resources. How can I in the UCF File or in an
other
place speed constrain those seven logic groups, that it really works.

Logic related to 24 Mhz must not run at 100 Mhz and so on ...

I'am using ISE 5.1i

I must use Spartan-II ...

Thank's for any hint or help

Markus


-- 
Mit freundlichen Grüssen
Markus Meng

P.S. Achtung wir haben eine neue FAX-Nummer
********************************************************************
** Meng Engineering        Telefon    056 222 44 10               **
** Markus Meng             Natel      079 230 93 86               **
** Bruggerstr. 21          Telefax    056 222 44 34 <-- NEU !!    **
** CH-5400 Baden           Email      meng.engineering@bluewin.ch **
**                         Web        www.meng-engineering.ch     **
********************************************************************
** You cannot create experience. You must undergo it. Albert Camus**







-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

Article: 55662
Subject: Re: Spartan3 DLL?
From: oen_br@yahoo.com.br (Luiz Carlos)
Date: 15 May 2003 03:40:30 -0700
Links: << >>  << T >>  << A >>
Now XC3S-50 is a usefull SPARTAN-3, or just, now it is a SPARTAN-3.
Very good!

Luiz Carlos Oenning Martins
KHOMP Solutions

Article: 55663
Subject: Re: how to calculate the gate count required for a FPGA design
From: Ray Andraka <ray@andraka.com>
Date: Thu, 15 May 2003 11:30:08 GMT
Links: << >>  << T >>  << A >>
Nope.  The physical pitch doesn't match the bit pitch making them a PITA.  In
this case they are used as a mux to shoe horn more function in.

Hal Murray wrote:

> >   Number of Slices:                192 out of    192  100%
> >   Number of Slice Flip Flops:      292 out of    384   76%
> >   Total Number 4 input LUTs:       339 out of    384   88%
> >   Number of bonded IOBs:            69 out of     86   80%
> >   Number of Tbufs:                  16 out of    224    7%
> >   Number of Block RAMs:              3 out of      4   75%
> >   Number of GCLKs:                   4 out of      4  100%
> >   Number of GCLKIOBs:                4 out of      4  100%
>
> Don't like Tbufs?  :)
>
> --
> The suespammers.org mail server is located in California.  So are all my
> other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
> commercial e-mail to my suespammers.org address or any of my other addresses.
> These are my opinions, not necessarily my employer's.  I hate spam.

--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930     Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com

 "They that give up essential liberty to obtain a little
  temporary safety deserve neither liberty nor safety."
                                          -Benjamin Franklin, 1759



Article: 55664
Subject: Re: XC9536 - how to make my own programing device for this chip ?
From: valerio@most.it (Valerio Gionco)
Date: 15 May 2003 04:30:43 -0700
Links: << >>  << T >>  << A >>
> Search this newsgroup to find out why it did not work.
> It's a combination of broken software and an inferior schematic.
> The impact replaced the broken hardware debugger, whats left is the
> inferior schematic.
> 
> Adding feedback resistors of 2K or so between the buffer outputs and
> inputs helps in many cases. Using a HCT chip with a low switching
> point (0.3 time VCC) improves the results even further.
> 
> Kolja Sulimma

Thanks, Kolja, I've found the old threads you're talking about.
As soon as I find the time, I'll make the changes to the schematics/PCB and post
a new version.

Article: 55665
Subject: Re: how to calculate the gate count required for a FPGA design
From: Ray Andraka <ray@andraka.com>
Date: Thu, 15 May 2003 11:31:32 GMT
Links: << >>  << T >>  << A >>
Yeah, and the clock rate is much slower than what I usually do too.

"Nicholas C. Weaver" wrote:

> In article <3EC2A28D.BE2641B@andraka.com>,
> Ray Andraka  <ray@andraka.com> wrote:
> >   Total Number 4 input LUTs:       339 out of    384   88%
> >      Number used as LUTs:                        229
> >      Number used as Shift registers:             110
>
> HA, less than 1/2 are used as SRLs.  Why you complainin about
> Spartan 3's 1/2 capacity of SRLs anyway?  :)
>
> --
> Nicholas C. Weaver                                 nweaver@cs.berkeley.edu

--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930     Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com

 "They that give up essential liberty to obtain a little
  temporary safety deserve neither liberty nor safety."
                                          -Benjamin Franklin, 1759



Article: 55666
Subject: Doubling data output without DRR banks and without double clock frequency
From: guiducci@cern.ch (Luigi)
Date: 15 May 2003 05:51:04 -0700
Links: << >>  << T >>  << A >>
Hello,
I have a design on an Apex20K 400. After some procedures, a mux-like
process has to select 2 31-bits long words out of 12 of the same size.
Everything works fine, I need to run the design @ 40 MHz and I have no
problems. What I would like to do now is to have a 31 bits wide output
 bus and to output the 2 selected words in a single 25 ns period,
sequentially. Like running the output @ 80 MHz, or like using output
registers working on both rising and falling edge of the 40 MHz clock.
What I would like to do is to achieve this result not having DDR
support on IO buffers, nor a PLL to generate the 80 MHz clock, nor
feeding the FPGA with a 80 MHz clock and dividing it inside to get the
40 MHz. The first two because of the chip I already have (no DDR, no
PLL), the latter because in working conditions I only have 40 MHz on
the board. I would like to avoid an external PLL, if I'll find no
solutions I'll switch to a chip with the PLL inside. So, wishing to do
it in the present situation....
The only idea I got is to add, for each output bit, a 2 to 1 mux after
the last registers (1 word with rising edge reg, the other one on
falling edge), properly sincronized with the 40 MHz clock as the
select signal, but some simulation showed me this is not so good,
because it adds skew between buses signals, and bad glitches too.
Probably a good manual placement would help.
Can you have any idea to do this 2x serialization in these conditions?
Thank you very much,

Luigi from Bologna

Article: 55667
Subject: Re: "Primitives" in XST?
From: jakespambox@yahoo.com (Jake Janovetz)
Date: 15 May 2003 06:44:17 -0700
Links: << >>  << T >>  << A >>
Ray-

Yes, XST allows one to build an inferred module (m2_1.v, say) and then
use synthesis attributes to RLOC/LOC it to a specified location.  This
is what I ended up doing, of course.  I just didn't like the need to
add another level of hierarchy (the m2_1.v) to the design.  It's
reasonable for Xilinx to want to 'trim the fat' and get rid of macros,
it's just annoying because those macros constitute a very nice set of
devices to use in a design.  The primitives are a good start, but they
did such a nice job of fleshing out the database with macros that I
find it a shame to see them go.  (as pre-fabricated blocks that don't
need to be inferred)

Now I just need to start building a library of these pre-fab macros as
required.  If only Xilinx would offer a 'contrib' library for folks
like me to download and augment XST, it would be nice.

   Jake


Ray Andraka <ray@andraka.com> wrote in message news:<3EC2648A.5BC3BC67@andraka.com>...
> With synplify you can use the xc_map attribute to essentially do what fmaps used to do.  To do so, the
> inferred M2_1 has to be in a separate component so that you can put an RLOC on the component instance.  I
> pasted in  the 2:1 mux from our fmap_logic.vhd file at the bottom of this post.  I'm not sure if XST has
> a similar attribute or not.  That said, as long as you have only one layer of logic between flip-flops,
> the placer should put the LUT in the slice with the flip-flop so you should be able to just place the
> flip-flop and let the placer do the rest.  Another option is to write a boolean string parser that
> converts a boolean string to a LUT INIT= string which you then put on both the LUT INIT generic and the
> attribute (synplify will now read the generic and generate the attribute automatically, I don't believe
> XST does that yet).
> 
> --FMAP'd 2:1 mux
> library IEEE;
> use IEEE.std_logic_1164.all;
> 
> entity fmap_mux2 is
>   port ( d0,d1,s : in std_logic;
>   z : out std_logic);
> end fmap_mux2;
> architecture rtl of fmap_mux2 is
> attribute xc_map : STRING;
> attribute xc_map of rtl : architecture is "lut";
> attribute syn_hier: string;
> attribute syn_hier of rtl:architecture is "hard";
> begin
>   z <=  d0 when s='0'
>  else d1;
> end rtl;
> ---------------------------------------------------------------------------------------------
> 
> 
> 
> Jake Janovetz wrote:
> 
> > Pete,
> >
> > Yes, Synthesizers know how to construct carry chains, etc.  However,
> > Jake knows where the mux should go.  When you infer a mux, you have
> > little control over where it goes and its more difficult and less
> > readable to attach an RLOC to that 'inferrence'.
> >
> > The place and route tools haven't gotten all that smart and, despite
> > timing constraints, area_group placement constraints, etc, they still
> > place something 5 CLBs away from where it should go!  (and thus not
> > making timing).  I took a short hiatus from FPGAs and returned hoping
> > that the rumors I'd heard about the tools were correct -- they had
> > gotten smarter.  Unfortunately, it appears they'd gotten just smart
> > enough to make people believe they could rip away certain features but
> > not smart enough to justify the absence of those features.
> >
> > It's really unfortunate, too, because structural HDL with those nice
> > primitives is a tolerable alternative to the
> > worst-schematic-entry-tool-ever, ECS.  What amazes me is that ECS
> > somehow knows how to build a M2_1 out of the real primitives so it
> > seems Xilinx has some QA and maintenance over those blocks -- why not
> > just HDL them and let XST use 'em?
> >
> >    Cheers,
> >    Jake
> >
> > "Pete Dudley" <pete.dudley@comcast.net> wrote in message news:<Ax-dnSERrd0XVVyjXTWcqQ@comcast.com>...
> > > Jake,
> > >
> > > I think you are right. XST no longer supports the direct instantiation of
> > > the M2_1 primitive. The libraries guide states "For HDL, this design element
> > > is inferred rather than instantiated".
> > >
> > > This is probably a good thing to avoid now anyway. Synthesizers know how to
> > > construct carry chains and when to use block multipliers. Where I work we
> > > have built up a library of synthesizable, parametized elements. This lets us
> > > code in a structural style when we want but the library is architecture
> > > independent so our code is portable except for proprietary elements like
> > > block rams.
> > >
> > > There should really be a public domain library like this but I haven't found
> > > one.
> > >
> > > --
> > > Pete Dudley
> > >
> > > Arroyo Grande Systems
> > >
> > > "Jake Janovetz" <jakespambox@yahoo.com> wrote in message
> > > news:d6ad3144.0305132010.7e425ff1@posting.google.com...
> > > > Folks-
> > > >
> > > > How does one instantiate the schematic primitives in XST -- or is this
> > > > even possible now?  Let's say I want a M2_1 (2-1 mux).  The 'unisims'
> > > > directory of the Foundation toolset doesn't include these
> > > > 'primitives'. Rather, it includes things such as LUTs.
> > > >
> > > > Of course, I can instantiate a LUT with the proper init values, but it
> > > > would go a long way in readability not to mention "error protection"
> > > > to have the MUX available as a primitive.
> > > >
> > > > This goes for all the other less-primitive blocks such as ACC1(4/8/16)
> > > > and so on.   Are these just not available in XST as blocks?
> > > >
> > > >    Jake
> 
> --
> --Ray Andraka, P.E.
> President, the Andraka Consulting Group, Inc.
> 401/884-7930     Fax 401/884-7950
> email ray@andraka.com
> http://www.andraka.com
> 
>  "They that give up essential liberty to obtain a little
>   temporary safety deserve neither liberty nor safety."
>                                           -Benjamin Franklin, 1759

Article: 55668
Subject: Re: multiplexing resources in xilinx fpga
From: Ken McElvain <ken@synplicity.com>
Date: Thu, 15 May 2003 15:48:19 GMT
Links: << >>  << T >>  << A >>
You are looking for an optimization called "resource sharing" that
all of the commercial synthesis tools have.

john paul wrote:

> hi
> 
>  i need some help on how to multiplex multipliers( and other inbuilt
> resources)
> used in different clock cycles, or if else statements.as in the
> following code
>  where my synthesis tool uses 12 multipliers( where only 4 is
> needed,the multipliers here are 14-bit multipliers).i am using xilinx
> virtex-II xc2v2000 fpga and xilinx ISE 2.3 is the synthesis tool.
> 
> if(sel="00") then
>    sin1<=signed(s)*signed(cosine3(z(5)/2));
>    sin2<=signed(c)*signed(si3(z(5)/2));
>    cos1<=signed(c)*signed(cosine3(z(5)/2));
>    cos2<=signed(s)*signed(si3(z(5)/2));
>    si<=si3(z(5)/2);
>    co<=cosine3(z(5)/2);
>  
> 
>  elsif(sel="01") then
> 
>    sin1<=signed(s)*signed(cosine2(z(5)/2));
>    sin2<=signed(c)*signed(si2(z(5)/2));
>    cos1<=signed(c)*signed(cosine2(z(5)/2));
>    cos2<=signed(s)*signed(si2(z(5)/2));
>    si<=si2(z(5)/2);
>    co<=cosine2(z(5)/2);
> 
>  else
>    sin1<=signed(s)*signed(cosine1(z(5)/2));
>    sin2<=signed(c)*signed(si1(z(5)/2));
>    cos1<=signed(c)*signed(cosine1(z(5)/2));
>    cos2<=signed(s)*signed(si1(z(5)/2));
>    si<=si1(z(5)/2);
>    co<=cosine1(z(5)/2);
> 
>  end if;
> 
> do let me know of any suggestions.
> thanks
> john
> 


Article: 55669
Subject: Re: Can XST takes place of Synplify or FPGA Compiler?
From: Spam Hater <spam_hater_7@email.com>
Date: Thu, 15 May 2003 16:04:29 GMT
Links: << >>  << T >>  << A >>

If you're pushing the technology, the aftermarket synthesizer MAY
help.  Don't expect miracles.

If you're not bumping into Fmax limits, use XST.

In a recent (low/medium volume) design, it was cheaper to get the
faster/bigger parts than to buy/rent the better synthesizer.

$.02,
SH

On 14 May 2003 01:45:26 -0700, yuhaiwen@hotmail.com (Yu Haiwen) wrote:

>Hi, Folks
>
>I'm doing design with Xilinx Virtex-II, and already have Xilinx ISE
>5.1i. The pack has its own synthesizer: XST. I've never used it before
>and know little about its performance.
>
>My question is whether it's worth for me to buy another third party
>synthesizer such as synplify or FPGA Compiler. They seem more powerful
>yet cost a lot.
>
>Can you give me any advice or comparison of these tools?
>
>Thanks and Best Regards


Article: 55670
Subject: Re: Low power, high temperature CPLD
From: Peter Alfke <peter@xilinx.com>
Date: Thu, 15 May 2003 09:08:13 -0700
Links: << >>  << T >>  << A >>


Hal Murray wrote:
>   .
> How about metastability?  Find anything in the data sheet to cover
> that?  Seen any numbers at other than "typical" conditions?  Was
> Peter's lab "typical"?
> 
As reported and documented, I varied Vcc from 1.35 to 1.65 V (
plus/minus 10%) which changed the MTBF by a factor of up to 15. That 
gives a good indication of worst-case sensitivity. Even the worst-case
numbers were better than excellent, so I saw no reason to go any further.
Peter Alfke

Article: 55671
Subject: Re: Moore Vs Mealy machine ..
From: Spam Hater <spam_hater_7@email.com>
Date: Thu, 15 May 2003 16:13:21 GMT
Links: << >>  << T >>  << A >>

Pick one, and use it consistently in a design.  Makes it tougher to
meet timing otherwise.

The time you get burned is when you mix them.

I always forget which one is which, but I prefer the one where the
outputs come directly from the flops.  And yes, it's a -personal-
bias.

$.02,
SH

On Thu, 15 May 2003 14:27:12 +0530, "LIJO"
<lijo_eceNOSPAM@hotmail.com> wrote:

>hi all,
>can anyone tell me which state machine is good (Moore or Mealy).. Why?
>
>rgds,
>


Article: 55672
Subject: Re: Low power, high temperature CPLD
From: Peter Alfke <peter@xilinx.com>
Date: Thu, 15 May 2003 09:21:28 -0700
Links: << >>  << T >>  << A >>


Jim Granville wrote:
> 
> Interesting that IC's tend to have 130'C or 150'C Tj max,
> whilst PowerMOSFETS often have Tj of 175'C
> 
Silicon is one tough material !  The 125 or even 150 degree limit is
more a plastic package issue than a silicon issue. I have helped
down-hole ( oil-drilling) applications where our chips functioned (with
relaxed performance) for many weeks at 175 degree ambient, and the user
was pushing for 200 degrees. They used Xilinx FPGAs, Z80 uPs, SRAMs and
even some analog stuff "down there". This worked, but we never
guaranteed it.

We ship millions of parts, each with hundreds of guaranteed parameters,
often into demanding applications where any failure is unacceptable,
therefore we have to be conservative. That's why our specs are worded
the way they are.

Peter Alfke, Xilinx Applications

Article: 55673
Subject: Re: Moore Vs Mealy machine ..
From: Eric Bohlman <ebohlman@earthlink.net>
Date: 15 May 2003 16:59:22 GMT
Links: << >>  << T >>  << A >>
Spam Hater <spam_hater_7@email.com> wrote in 
news:jve7cvgldg4va3thk6pbubq18rjuh07van@4ax.com:

> I always forget which one is which, but I prefer the one where the
> outputs come directly from the flops.  And yes, it's a -personal-
> bias.

That's true of a correct implementation of either model.  In a Mealy 
machine, the output at time t+1 is a function of both the current state at 
time t and the input at time t.  In a Moore machine, the output is a 
function of the current state only.  Some people implement Mealy machines 
sloppily, with the output being a *combinatorial* function of the current 
state and the input, but that's not an inherent characteristic of the 
model.

Article: 55674
Subject: Re: Moore Vs Mealy machine ..
From: Mike Treseler <mike.treseler@flukenetworks.com>
Date: Thu, 15 May 2003 09:59:26 -0700
Links: << >>  << T >>  << A >>
LIJO wrote:

> can anyone tell me which state machine is good (Moore or Mealy)

If you synchronize all inputs to the machine,
take your pick. It's all good.
Mealy has fewer bubble but busier arrows.

For a given Mealy description, you can make a Moore description
that generates the same hardware, so there's no difference in cost
except for ink to draw bubbles.

A synchronous hdl process is a superset of these models.


  -- Mike Treseler





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