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 144725

Article: 144725
Subject: Re: How to protect my Virtex5 design without battery?
From: Frank Buss <fb@frank-buss.de>
Date: Tue, 29 Dec 2009 09:29:24 +0100
Links: << >>  << T >>  << A >>
vcar wrote:

> For certainreasons, I could not use battery on my board, so the
> Virtex5 bitstream encryptioncould not be used. In this situation, what
> could I do to protect my design on areasonable level?

I don't know the answers to your questions, but I guess an attacker could
at least just desolder the XCF16P and reading it like the FPGA does when
booting, so even the read protection bit of the flash is useless. If you
want to secure your device, I would use something like the DS2401. This
provides a unique id. You could save this in the flash and compare it from
the FPGA with the chip. The chip is available in packages which looks like
a capacitor or diode:

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=DS2401X1CT-ND

I've written some VHDL code for reading the one-wire id:

http://www.frank-buss.de/vhdl/spartan3e.html

(see the DS2432 ROM id reader in the zip file)

-- 
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Article: 144726
Subject: Re: fsm coding question
From: Ralf Hildebrandt <Ralf-Hildebrandt@gmx.de>
Date: Tue, 29 Dec 2009 10:08:58 +0100
Links: << >>  << T >>  << A >>
Am 29.12.2009 08:27, schrieb John Butler:


> The STATE is getting assigned in separate sequential process.

Write to a signal/variable only in one always statement! Although
Verilog allows the other way, it is a bad coding style and error-prone.


> Also do I need to put all the signals being checked in the always
> block ( e.g counter and  count_down_cnt  etc).
> 
> always @(STATE or counter)
> begin: FSM_COMBO1_I
> 
> case(STATE)
...

If you do it this way: then yes.
You have written a pure combinational always statement. For this this is
necessary to have all signals in the sensitivity list.

But you could merge the combinational always statement that results in
the next_STATE signal with the synchronous always statement, that
assigns next_STATE to STATE. Then you only have one synchronous always
statement and for this only the clock (and an asynchronous reset) needs
to be put in the sensitivity list.

Ralf

Article: 144727
Subject: Re: fsm coding question
From: Muzaffer Kal <kal@dspia.com>
Date: Tue, 29 Dec 2009 01:26:17 -0800
Links: << >>  << T >>  << A >>
On Mon, 28 Dec 2009 23:27:05 -0800 (PST), John Butler
<john.butler121@gmail.com> wrote:
>I have this code which seems to run OK in RTL and gatelevel
>simulation  but I m getting glitches in signaltap and in oscilloscope.
>
You don't define which signals are showing glitches. Are you  seeing
glitches in STATE or some other signals?

>Also do I need to put all the signals being checked in the always
>block ( e.g counter and  count_down_cnt  etc).
>
For simulation/synthesis matching usually yes. For synthesis only, the
tool already assumes it so sometimes there can be mismatches so it's
safer to do that.

Are you registering rdreq, rdreq1, output1, counter_cnt_en etc.
signals ala STATE? If they're not registered and as you don't assign
them at the top of FSM_COMBO1_I block, you will get latches for them
and these latches may cause the problems you're observing. 
Also what is next_STATE1_I signal used for? It seems like a typo.

-- 
Muzaffer Kal

DSPIA INC.
ASIC/FPGA Design Services

http://www.dspia.com

Article: 144728
Subject: Re: How to protect my Virtex5 design without battery?
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Tue, 29 Dec 2009 10:12:48 +0000 (UTC)
Links: << >>  << T >>  << A >>
Frank Buss <fb@frank-buss.de> wrote:
> vcar wrote:
 
>> For certainreasons, I could not use battery on my board, so the
>> Virtex5 bitstream encryptioncould not be used. In this situation, what
>> could I do to protect my design on areasonable level?

Protecting against exact clones is difficult.  In many cases, decoding
the bits back to logic is hard enough not to worry about that.
 
> I don't know the answers to your questions, but I guess an attacker could
> at least just desolder the XCF16P and reading it like the FPGA does when
> booting, so even the read protection bit of the flash is useless. If you
> want to secure your device, I would use something like the DS2401. This
> provides a unique id. You could save this in the flash and compare it from
> the FPGA with the chip. The chip is available in packages which looks like
> a capacitor or diode:

As long as they don't read this newsgroup and know what to look for...

-- glen

Article: 144729
Subject: Re: How to protect my Virtex5 design without battery?
From: Frank Buss <fb@frank-buss.de>
Date: Tue, 29 Dec 2009 12:47:15 +0100
Links: << >>  << T >>  << A >>
glen herrmannsfeldt wrote:

> As long as they don't read this newsgroup and know what to look for...

You are right. And if an attacker has the money to clone a Virtex design,
this just delays the cloning process a bit. But the AES encryption
integrated in Virtex devices is better. It's a pity that the key can't be
stored in non-volatile memory inside the chip.

Another idea against cloning would be to implement a challenge response
protocol with an external small microcontroller, e.g. a hash function,
where the microcontroller adds some bytes before hashing. If the
microcontroller has some protection, then the attacker would need at least
an electron microscope (assuming that it is not easy to extract the logic
from the programming byte stream for the Virtex).

-- 
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Article: 144730
Subject: Re: Xilinx and Multi-port memories
From: Selensky <selensky@gmail.com>
Date: Tue, 29 Dec 2009 07:07:54 -0800 (PST)
Links: << >>  << T >>  << A >>
On 28 dez, 04:17, Amal <akhailt...@gmail.com> wrote:
> On Dec 26, 3:14=A0pm, Muzaffer Kal <k...@dspia.com> wrote:
>
>
>
> > On Fri, 25 Dec 2009 21:38:48 -0700, Rob Doyle <radioe...@gmail.com>
> > wrote:
>
> > >If I *had* to add another write port to the memory - can you do that
> > >using memories? =A0I can't see it...
>
> > One thing you can do is to =A0have two copies of your register file and
> > keep a 'most-recently-written' state for each location. Then each read
> > path =A0has an additional 2-1 mux after it controlled by the same signa=
l
> > (and a comparator for the read address). This should give the datapath
> > you want but whether the extra delay is acceptable depends on your
> > requirements.
> > --
> > Muzaffer Kal
>
> > DSPIA INC.
> > ASIC/FPGA Design Services
>
> >http://www.dspia.com
>
> Xilinx supports 3-port memories as well if it helps. =A0You can have one
> read/write port and two read ports with 3 different addresses.
>
> You can either infer it or instantiate the component directly.
>
> Cheers,
> -- Amal

Amal,

Are native 3-port mode supported by which Xilinx devices? Without
duplicating memories? Is there any constraint about using this
operation mode combined with different aspect data ratio? I had heard
something about native support of 3-port (two read and one write port
with 3 different addresses) in Altera devices only.

Selensky

Article: 144731
Subject: EPCS vs SPI Flash
From: Omer Osman <research@ottomaneng.com>
Date: Tue, 29 Dec 2009 10:36:38 -0800 (PST)
Links: << >>  << T >>  << A >>
Hello world,

I'm looking at making my first FPGA board with a Cyclone III EP3C25
and am researching my boot memory solution. Reading Altera's docs they
reference their EPCS series serial programming chips but they run for
an outlandish $16 - $32 on Newark.

Googling got me to this page: http://fpgaforum.blogspot.com/2006/03/any-replacement-for-altera-epcs_19.html
that claims that their so called EPCS programming chips are nothing
more than SPI flash. Can anyone confirm this? I am looking at getting
the SST25VF032B 32Mb (4M x 8) SPI Flash memory.


Thanks,

Omer Osman

Article: 144732
Subject: Re: EPCS vs SPI Flash
From: radarman <jshamlet@gmail.com>
Date: Tue, 29 Dec 2009 12:13:31 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 29, 12:36=A0pm, Omer Osman <resea...@ottomaneng.com> wrote:
> Hello world,
>
> I'm looking at making my first FPGA board with a Cyclone III EP3C25
> and am researching my boot memory solution. Reading Altera's docs they
> reference their EPCS series serial programming chips but they run for
> an outlandish $16 - $32 on Newark.
>
> Googling got me to this page:http://fpgaforum.blogspot.com/2006/03/any-re=
placement-for-altera-epcs...
> that claims that their so called EPCS programming chips are nothing
> more than SPI flash. Can anyone confirm this? I am looking at getting
> the SST25VF032B 32Mb (4M x 8) SPI Flash memory.
>
> Thanks,
>
> Omer Osman

This is true. I use M25P16's on my Cyclone III boards, and they boot
just fine. I normally use in-system programming via JTAG, but they
should be programmable with active serial as well.

Article: 144733
Subject: Re: Xilinx and Multi-port memories
From: Rob Doyle <radioengr@gmail.com>
Date: Tue, 29 Dec 2009 14:37:18 -0700
Links: << >>  << T >>  << A >>
rickman wrote:
> On Dec 28, 3:40 am, whygee <y...@yg.yg> wrote:
>> hello,
>>
>> Amal wrote:
>>> Xilinx supports 3-port memories as well if it helps.  You can have one
>>> read/write port and two read ports with 3 different addresses.
>>> You can either infer it or instantiate the component directly.
>> the OP and the thread are speaking about multiple write port,
>> because multiple read ports are trivially implemented.
>> However, simultaneously having 2 read AND 2 write ports
>> (4 simultaneous addresses, for example) is not as easy
>> and I guess that few synthesisers will infer the correct
>> SRAM blocks.
> 
> The OP doesn't need four ports from a single memory, only three are
> needed.  If two write ports are needed, there is no way to fake that,
> at least no easy way.  Three ports are needed, two write and one
> read.  Then as many read ports can be added as needed by duplicating
> the memory with separate read addresses.  If the OP can use the same
> address for one write port and the read port, then this is just a two
> port memory with read/write capability.
> 
> If a two write, one read port memory with three addresses is needed
> and only two addresses can be input to the memory, then a third memory
> can be used to "arbitrate" between two duplicated, two address, one
> write, one read port memories.  When a write happens, the data is
> written to the memory connected to that write port.  The third memory
> is just one bit wide and the bit at the corresponding address is set
> or reset to indicate which port the most recent write has been from.
> When a read is done, a mux selects from the appropriate memory block.
> The only fly in the ointment is that the "flag" memory has to have two
> write and two read ports.  So it can't be done in a block ram, but
> must be made of logic and FFs.  That is some savings over doing the
> entire memory in logic if it is wider than one bit... but still a PITA
> and quite a mess.  But if you *have* to have this memory and the part
> does not support it... I guess you have no choice, eh?
> 
> Rick

I *need* one write port and three read ports - so I'm OK just
duplicating the RAM.

I could save a clock cycle in the ALU if I could do two writes
and three reads.  If I have to stall the pipeline to implement
this, I've gained nothing.

The timing won't permit 2 Register clock cycles per ALU clock cycle
to double-up the register accesses.

The multi-port "flag" memory is the trick I was looking for.  The ALU
has 1024 registers so I can envision some tall data selectors,
multiplexers, and accompanying levels of logic to implement the
address decoders.

I think I'm going to stay with simple for now and put this in my
back pocket as "Plan B".

I greatly appreciate the help.

Rob Doyle




Article: 144734
Subject: Seeking some advice
From: Rick <richardcortese@gmail.com>
Date: Tue, 29 Dec 2009 14:11:16 -0800 (PST)
Links: << >>  << T >>  << A >>
I looked at the postmark on my Atmel Synplicity CD and it was December
2000. I figure the chances of retrieving my serial number are nil and
I'll assume most people would advise me to get something a little
more up to date. It really has been about a 9 year FPGA hiatus for me
as the company I was helping at the time tanked.

I want to get back into some 'trivial' design work. I'm thinking my
level of sophistication is still at the ~22v10 stage and using
schematic capture vs. programming languages or assembler. I have read
enough to know this is bad form but I still understand 74LSXX and
would like to ease into topics like Verilog. Nothing I do requires
more then a couple of 4 bit counters and maybe a six bit latch with a
bit of glue logic.

It goes without saying I'm a fan of inexpensive as well as dated. I've
seen several web sites with low cost entry level kits and programmers
that will handle 22V10s for under $100.

Can someone tell me what is a good start for someone with my
particular needs? Info like: Best software does not work with xxx so
get a programmer that works with yyy.

TIA
Rick

Article: 144735
Subject: Re: Seeking some advice
From: Frank Buss <fb@frank-buss.de>
Date: Wed, 30 Dec 2009 00:38:18 +0100
Links: << >>  << T >>  << A >>
Rick wrote:

> I want to get back into some 'trivial' design work. I'm thinking my
> level of sophistication is still at the ~22v10 stage and using
> schematic capture vs. programming languages or assembler. I have read
> enough to know this is bad form but I still understand 74LSXX and
> would like to ease into topics like Verilog. Nothing I do requires
> more then a couple of 4 bit counters and maybe a six bit latch with a
> bit of glue logic.

You can do such small logic with a small CPLD, e.g. the XC9572XL from
Xilinx (I've managed to implement two 19 bit counters with it and a SPI
interface for reading). Just download the free Web Edition of Xilinx ISE
and then you can write Verilog or VHDL designs and test it in the
integrated simulator.

If you want a starter kit, maybe this one is a good idea:

http://www.xilinx.com/products/devkits/DO-CPLD-DK-G.htm

If you want to program it in your own boards later, I can recommend the
Xilinx Platform Cable.

Altera has a free web edition of the development environment, too and some
nice CPLDs and starter kits, and some Lattice CPLDs are really inexpensive,
but I don't know the development tools.

-- 
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Article: 144736
Subject: Re: Xilinx and Multi-port memories
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Wed, 30 Dec 2009 00:16:41 +0000
Links: << >>  << T >>  << A >>
On Tue, 29 Dec 2009 14:37:18 -0700, Rob Doyle <radioengr@gmail.com> wrote:

>rickman wrote:
>> On Dec 28, 3:40 am, whygee <y...@yg.yg> wrote:
>>> hello,
>>>
>>> Amal wrote:
>>>> Xilinx supports 3-port memories as well if it helps.  You can have one
>>>> read/write port and two read ports with 3 different addresses.


>I could save a clock cycle in the ALU if I could do two writes
>and three reads.  If I have to stall the pipeline to implement
>this, I've gained nothing.
>
>The timing won't permit 2 Register clock cycles per ALU clock cycle
>to double-up the register accesses.
>
>The multi-port "flag" memory is the trick I was looking for.  The ALU
>has 1024 registers so I can envision some tall data selectors,
>multiplexers, and accompanying levels of logic to implement the
>address decoders.

Another trick, IF you have some control over the instruction set, is to split
the register set in two. Then you can schedule two writes, provided they are to
different halves. (The read side can appear as a single unified regset)

With the large number of registers a BRAM gives you, it is likely that there
will always be "vacant" slots in each half. So this restriction can usually be
hidden by register allocation policy, if you get to dictate such restrictions to
whoever is writing the code generator. 

Essentially you trade simpler hardware for some additional complexity in
software; the compiler writers make that invisible to the user.

- Brian


Article: 144737
Subject: Re: Seeking some advice
From: vanepp@sfu.ca (Peter Van Epp)
Date: Wed, 30 Dec 2009 00:44:24 +0000 (UTC)
Links: << >>  << T >>  << A >>
Rick <richardcortese@gmail.com> writes:

>I looked at the postmark on my Atmel Synplicity CD and it was December
>2000. I figure the chances of retrieving my serial number are nil and
>I'll assume most people would advise me to get something a little
>more up to date. It really has been about a 9 year FPGA hiatus for me
>as the company I was helping at the time tanked.

>I want to get back into some 'trivial' design work. I'm thinking my
>level of sophistication is still at the ~22v10 stage and using
>schematic capture vs. programming languages or assembler. I have read
>enough to know this is bad form but I still understand 74LSXX and
>would like to ease into topics like Verilog. Nothing I do requires
>more then a couple of 4 bit counters and maybe a six bit latch with a
>bit of glue logic.

>It goes without saying I'm a fan of inexpensive as well as dated. I've
>seen several web sites with low cost entry level kits and programmers
>that will handle 22V10s for under $100.

>Can someone tell me what is a good start for someone with my
>particular needs? Info like: Best software does not work with xxx so
>get a programmer that works with yyy.

>TIA
>Rick

	Since I was just down a similar route (although in the end I managed
to find a compiled file of the 16V8 and 20V8 I needed and ran it through my 
B+K prom programmer without having to compile the palasm source), you likely 
want to look at Lattice. They bought MMI and the older versions of their 
software are still available for free  on their web site and appear to 
support the various PALs probably including schematic capture (I needed palasm).
	I think pretty much any programmer that supports the various PALS will 
do. As well as the B+K I have a PC ISA board from the 1980s that will do the 
various pals and gals although I haven't used it in years just check the 
programmer supports the PALs you want to use 
	Altera's QuartisII (at least a couple of years ago) supported schematic
capture/generation of images (as well as Verilog or VHDL) in the free web
edition. I haven't used it recently nor ISE from Xilinx enough to know it they
still do. However neiher as far as I know support PALs only their CPLDs and
the CPLDs are (again as far as I know) all in PLCC packages, not PDIP like the
pals. As well some of the pals are available (cheap!) from the surplus houses
such as All or B+G Micro (ping me if you need web sites) thats where I got the
blanks for the pair I needed :-). 

Peter Van Epp

Article: 144738
Subject: Re: How to protect my Virtex5 design without battery?
From: vcar <hitsx@163.com>
Date: Tue, 29 Dec 2009 18:42:50 -0800 (PST)
Links: << >>  << T >>  << A >>
On 12=D4=C229=C8=D5, =CF=C2=CE=E76=CA=B112=B7=D6, glen herrmannsfeldt <g...=
@ugcs.caltech.edu> wrote:
> Frank Buss <f...@frank-buss.de> wrote:
> > vcar wrote:
> >> For certainreasons, I could not use battery on my board, so the
> >> Virtex5 bitstream encryptioncould not be used. In this situation, what
> >> could I do to protect my design on areasonable level?
>
> Protecting against exact clones is difficult.  In many cases, decoding
> the bits back to logic is hard enough not to worry about that.
>
> > I don't know the answers to your questions, but I guess an attacker cou=
ld
> > at least just desolder the XCF16P and reading it like the FPGA does whe=
n
> > booting, so even the read protection bit of the flash is useless. If yo=
u
> > want to secure your device, I would use something like the DS2401. This
> > provides a unique id. You could save this in the flash and compare it f=
rom
> > the FPGA with the chip. The chip is available in packages which looks l=
ike
> > a capacitor or diode:
>
> As long as they don't read this newsgroup and know what to look for...
>
> -- glen

Hi, glen.
My point is to protect my board from cloning, so the attacker do not
need to decoding bit stream back to logic. Once they obtain the bit
stream, they can produce my board themselves.
I could not protect the PCB from cloning, so I have to do something on
my bit stream. Otherwise it is very easy to copy my board.

Article: 144739
Subject: Re: Seeking some advice
From: Rick <richardcortese@gmail.com>
Date: Wed, 30 Dec 2009 00:26:26 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 29, 4:44=A0pm, van...@sfu.ca (Peter Van Epp) wrote:
> Rick <richardcort...@gmail.com> writes:
<snip>
> =A0 =A0 =A0 =A0 Since I was just down a similar route (although in the en=
d I managed
> to find a compiled file of the 16V8 and 20V8 I needed and ran it through =
my
> B+K prom programmer without having to compile the palasm source), you lik=
ely
> want to look at Lattice. They bought MMI and the older versions of their
> software are still available for free =A0on their web site and appear to
> support the various PALs probably including schematic capture (I needed p=
alasm).
> =A0 =A0 =A0 =A0 I think pretty much any programmer that supports the vari=
ous PALS will
> do. As well as the B+K I have a PC ISA board from the 1980s that will do =
the
> various pals and gals although I haven't used it in years just check the
> programmer supports the PALs you want to use

Hehe! I was looking for software for my Needham PB-10 earlier. I
actually found some that is supposed to run under XP but I have to put
it in a computer with ISA slots. I should give up the ghost.

I went ahead and got the development board from Frank's link. It was
only $39+ shipping so it will get me into the current decade. Checked
with Digikey and they have the CPLD in 44 pin PLCC so at least I can
buy a carrier for wire wrap. Price is right too at about $2 per chip.

I will give the Lattice a look and see what I can find. I am trying to
tell myself I am better off with a 44 pin CPLD then a 28 pin GAL. The
CPLD still seems like a lot of club for the distance but prices are
about even.

Rick

Article: 144740
Subject: Re: How to protect my Virtex5 design without battery?
From: vcar <hitsx@163.com>
Date: Wed, 30 Dec 2009 01:02:24 -0800 (PST)
Links: << >>  << T >>  << A >>
On 12=D4=C229=C8=D5, =CF=C2=CE=E74=CA=B129=B7=D6, Frank Buss <f...@frank-bu=
ss.de> wrote:
> vcar wrote:
> > For certainreasons, I could not use battery on my board, so the
> > Virtex5 bitstream encryptioncould not be used. In this situation, what
> > could I do to protect my design on areasonable level?
>
> I don't know the answers to your questions, but I guess an attacker could
> at least just desolder the XCF16P and reading it like the FPGA does when
> booting, so even the read protection bit of the flash is useless. If you
> want to secure your device, I would use something like the DS2401. This
> provides a unique id. You could save this in the flash and compare it fro=
m
> the FPGA with the chip. The chip is available in packages which looks lik=
e
> a capacitor or diode:
>
> http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=3DDS24..=
.
>
> I've written some VHDL code for reading the one-wire id:
>
> http://www.frank-buss.de/vhdl/spartan3e.html
>
> (see the DS2432 ROM id reader in the zip file)
>
> --
> Frank Buss, f...@frank-buss.dehttp://www.frank-buss.de,http://www.it4-sys=
tems.de

Comparing to DS2401, DS28E01 or DS2432 is more applicable.
If I use these chips, need I use BSCAN_VIRTEX5 + ICAP_VIRTEX5 to
monitor JTAG activities?

Article: 144741
Subject: Re: How to protect my Virtex5 design without battery?
From: nico@puntnl.niks (Nico Coesel)
Date: Wed, 30 Dec 2009 11:32:13 GMT
Links: << >>  << T >>  << A >>
vcar <hitsx@163.com> wrote:

>On 12=D4=C229=C8=D5, =CF=C2=CE=E76=CA=B112=B7=D6, glen herrmannsfeldt <g...=
>@ugcs.caltech.edu> wrote:
>> Frank Buss <f...@frank-buss.de> wrote:
>> > vcar wrote:
>> >> For certainreasons, I could not use battery on my board, so the
>> >> Virtex5 bitstream encryptioncould not be used. In this situation, what
>> >> could I do to protect my design on areasonable level?
>>
>> Protecting against exact clones is difficult.  In many cases, decoding
>> the bits back to logic is hard enough not to worry about that.
>>
>> > I don't know the answers to your questions, but I guess an attacker cou=
>ld
>> > at least just desolder the XCF16P and reading it like the FPGA does whe=
>n
>> > booting, so even the read protection bit of the flash is useless. If yo=
>u
>> > want to secure your device, I would use something like the DS2401. This
>> > provides a unique id. You could save this in the flash and compare it f=
>rom
>> > the FPGA with the chip. The chip is available in packages which looks l=
>ike
>> > a capacitor or diode:
>>
>> As long as they don't read this newsgroup and know what to look for...
>>
>> -- glen
>
>Hi, glen.
>My point is to protect my board from cloning, so the attacker do not
>need to decoding bit stream back to logic. Once they obtain the bit
>stream, they can produce my board themselves.
>I could not protect the PCB from cloning, so I have to do something on
>my bit stream. Otherwise it is very easy to copy my board.

In that case you'll need to add a microcontroller which does part of
the job. 

-- 
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------

Article: 144742
Subject: Re: How to protect my Virtex5 design without battery?
From: Frank Buss <fb@frank-buss.de>
Date: Wed, 30 Dec 2009 13:34:57 +0100
Links: << >>  << T >>  << A >>
vcar wrote:

> Comparing to DS2401, DS28E01 or DS2432 is more applicable.

You are right, the DS2432 looks interesting with the SHA1 hash function.
But I couldn't find it at Digikey and you have to register at Maxim to just
get the price for it, so maybe a small PIC (which has program read
protection) is better.

> If I use these chips, need I use BSCAN_VIRTEX5 + ICAP_VIRTEX5 to
> monitor JTAG activities?

I don't think this is needed, because an attacker could desolder the flash
anyway and simulate a FPGA to read the bitstream, or use a logic analyzer
for recording the FPGA boot process.

-- 
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Article: 144743
Subject: ACE file programming of Virtex 4
From: "ucfchuck" <ucfchuck@gmail.com>
Date: Wed, 30 Dec 2009 08:21:33 -0600
Links: << >>  << T >>  << A >>
i have a cypress fx2lp usb2 that emulates an ACE hdl player and outputs the
Jtag directly to an XCF32P and an SX55. 

there are a couple of issues i am still not sure about though, 
1- on a TDO check, the ace file gives me the output data for TDI, a mask,
and an expected return value.
    The SX55 and XCF32P have a combined TDO buffer of 26 bits, so from what
i gather i dont get the data back out for 26 clock cycles, does this mean
that i should just continue clocking with no new instructions or data until
i get all the data back or do i continue feeding in new instructions and
just wait the 26 clocks like that?

2- what is the maximum TDO length for an ACE file? i have the FX2LP packed
full and can barely fit in another byte of storage, if i have to hold 100+
bytes in ram to check later im kind of screwed...

3- the XAPP424 talks about having to clock on the runtest instruction if it
is configuring an FPGA, the FX2LP link is not exactly fast enough to
continuously feed data through so the clock is sometimes just held high or
low for slightly longer periods on different instructions as im just
bit-banging it. should i slow it all down so i have a continuous clock
period or does it not matter as only the rising edge and minimum clock high
periods are the only important parts?






Article: 144744
Subject: Re: VHDL: assignment to two different fields of the record in two
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 30 Dec 2009 07:33:32 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 25, 4:53=A0pm, wzab <w...@wzab.nasz.dom> wrote:
> To simplify design of the DSP system I have decided to describe the
> ports connecting different blocks (to be synthesized in the same FPGA) as=
 a
> record.
> It resulted in a code, in which two different processes (each in one of
> connected blocks) assign values to the different fields of the same recor=
d.
> Unfortunately my VHDL simulator (namely: GHDL) recognizes this situation
> as the conflict, and sets the whole record to 'U'.
>

What exactly is connected to the ports?  The entire record or the
particular element of the record?  If it's the entire record, like
this...

u1 : entity work.my_thing1 port map(s =3D> my_record);
u2 : entity work.my_thing2 port map(v =3D> my_record);

Then you will have problems because (as you've begun to discover based
on your later post) you will have multiple processes driving the
'my_record' signal.  It doesn't matter that the entity only has one
obvious statement that is driving one element of the record.

> Have I really overlooked something in the VHDL rules?

The fact is that the two entities are defined to have an output that
is of the record type.  That you choose to not have anything in the
architecture for that entity to drive the other elements of the record
means that those other elements gets the VHDL default assignment of
'U'.

> It seems, that it should not be considered a conflict, as each field is d=
riven
> by a single process.

The output of the entity in your case is not an element of the record,
but the record itself.

Kevin Jennings

Article: 144745
Subject: Re: More details: VHDL: assignment to two different fields of the
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 30 Dec 2009 07:42:44 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 26, 3:28=A0am, Eric Smith <space...@gmail.com> wrote:
> As enticing as it is, I've found that using record types in
> synthesizable VHDL is just inviting problems. =A0

Not using records, just invites other problems...like when bit fields
definitions change.  A record allows this change to be handled
completely in one file, three locations in that file:  in the record
definition and within two functions.  Not using a record involves
finding and changing every instance where the (could've been) record
is used, which is generally in far more places in the code and not
always as easy to find.  Plus to find them, you need to rely on text
search tools rather than the VHDL compiler.  Far more likely to miss
an usage instance in that case, thus the problem

Kevin Jennings

Article: 144746
Subject: Re: Seeking some advice
From: Chris Abele <ccabele@yahoo.com>
Date: Wed, 30 Dec 2009 11:07:51 -0500
Links: << >>  << T >>  << A >>
On 12/29/2009 6:38 PM, Frank Buss wrote:
> Rick wrote:
>
>> I want to get back into some 'trivial' design work. I'm thinking my
>> level of sophistication is still at the ~22v10 stage and using
>> schematic capture vs. programming languages or assembler. I have read
>> enough to know this is bad form but I still understand 74LSXX and
>> would like to ease into topics like Verilog. Nothing I do requires
>> more then a couple of 4 bit counters and maybe a six bit latch with a
>> bit of glue logic.
>
> You can do such small logic with a small CPLD, e.g. the XC9572XL from
> Xilinx (I've managed to implement two 19 bit counters with it and a SPI
> interface for reading). Just download the free Web Edition of Xilinx ISE
> and then you can write Verilog or VHDL designs and test it in the
> integrated simulator.
>
> If you want a starter kit, maybe this one is a good idea:
>
> http://www.xilinx.com/products/devkits/DO-CPLD-DK-G.htm
>
> If you want to program it in your own boards later, I can recommend the
> Xilinx Platform Cable.
>
> Altera has a free web edition of the development environment, too and some
> nice CPLDs and starter kits, and some Lattice CPLDs are really inexpensive,
> but I don't know the development tools.
>

Looks like the programming cable included in that kit is for a parallel 
port.  Few recent PCs have parallel ports anymore, and I understand that 
USB-to-parallel converters generally don't work with JTAG cables (or 
more accurately with the software).  And while the Xilinx platform cable 
is a great solution, its costs over $200.

For playing around at home I've had good luck with stuff from Digilent: 
www.digilentinc.com (in fact they made the board in your kit).  They 
have USB JTAG cable that's compatible with Xilinx tools and only costs 
$60.  They also have two types of USB JTAG cable that work with their 
free programming software (called Adept) and are even less expensive. 
These are all on the "Cables & connectors" page.

For playing with very simple logic Digilent also has a small board with 
a CoolRunner CPLD for $18 (look for "C-Mod").  It's basically just a way 
to mount the PLCC and bring the connections to DIP pads for easy 
experimenter access, but sometimes that's really handy.

Of course the C-Mod is only 64 macrocells. Digilent also has fairly 
inexpensive FPGA experimenter boards: the "Basys2" board has a Spartan 
3E with 100k gates for $80, and the "Nexys" board has a Spartan 3 with 
400k gates for $90.  Those boards have USB built in, and don't even 
require an additional programming cable.

Chris




Article: 144747
Subject: Re: More details: VHDL: assignment to two different fields of the
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 30 Dec 2009 08:08:51 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 25, 5:50=A0pm, wzab <w...@ise.pw.edu.pl> wrote:
> I have found the following discussion:http://www.velocityreviews.com/foru=
ms/t487026-vhdl-port-inout-problem...
>
> And according to the solution decribed there, I set ALL fields (elements)=
 =A0
> of the record in ALL processes. If the particular process does not drive
> the particular signal, I set it to "Z".
>

Step back a minute and think about why you would have an entity that
is defined to have a record output that does not drive all the
elements?  Doesn't that seem to you like the entity *really* does not
have the record output that you've defined?  (Hint:  The answer is
'yes').

What this suggests is that you've defined the record per some pre-
conceived notion of how it should be, but it does not match how you're
defining your entities.  You should go back to the drawing board and
re-think the record definitions to match how you really intend to use
them.  The alternative is the kludge you've found regarding setting
unused record fields to 'Z'.

Kevin Jennings

Article: 144748
Subject: Re: ACE file programming of Virtex 4
From: "ucfchuck" <ucfchuck@gmail.com>
Date: Wed, 30 Dec 2009 11:07:43 -0600
Links: << >>  << T >>  << A >>
I realized i was reading the TDO instructions incorrectly from the XAPP424
and so i only need to store 26 bits or mask and 26 of expected TDO and 26
bits of received TDO, i thought it was <opcode><all TDI data><all TDO
expected><all TDO mask>, but it looks like it is broken into bytes of
each...
<0x04><numbits> <TDI byte> <TDO exp byte> <TDO mask byte> <TDI byte> <TDO
exp> ...

unfortunately it takes about an hour to run this programming procedure as
the ace file is about 40MB which has to go down endpoint0 and i have an
error check so its 2 transfers for every 32bytes. i will update if it
worked...	   
					
---------------------------------------		
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com

Article: 144749
Subject: Re: Seeking some advice
From: vanepp@sfu.ca (Peter Van Epp)
Date: Wed, 30 Dec 2009 18:50:27 +0000 (UTC)
Links: << >>  << T >>  << A >>
Rick <richardcortese@gmail.com> writes:

>On Dec 29, 4:44=A0pm, van...@sfu.ca (Peter Van Epp) wrote:
>> Rick <richardcort...@gmail.com> writes:
><snip>

>Hehe! I was looking for software for my Needham PB-10 earlier. I
>actually found some that is supposed to run under XP but I have to put
>it in a computer with ISA slots. I should give up the ghost.

	I still have the XT clone that it originally ran in (and several other
ISA machines :-)). I even still have an operating Z80 CPM machine (and am 
building a nwe one :-)). 

>I went ahead and got the development board from Frank's link. It was
>only $39+ shipping so it will get me into the current decade. Checked
>with Digikey and they have the CPLD in 44 pin PLCC so at least I can
>buy a carrier for wire wrap. Price is right too at about $2 per chip.

	Horrors! Not an adapter ($$$$), a through hole PLCC socket and some
sip www sockets from Jameco (6100-1X30W-R) or Electronix Express (ssw30s) 
(http://www.elexp.com/ics_sf10.htm and cheapest), All had some at $.50 some 
months back but I cleaned them out :-). Cut to suitable lengths for the PLCC 
pins  the through hole plcc socket plugs in on .1 centers giving you a wirewrap
 adapter for a couple of bucks (you may have to experiment with PLCC sockets 
if the pins are too big, all those I've tried have worked though). This is how 
my 84 PLCC Z80 chip is wire wrapped in.

>I will give the Lattice a look and see what I can find. I am trying to
>tell myself I am better off with a 44 pin CPLD then a 28 pin GAL. The
>CPLD still seems like a lot of club for the distance but prices are
>about even.

	True, and learning the new stuff is a good thing for sure but if a PAL
will do the job, by the time you add in socket cost and board area the PALs
may still be a better bet against a PLCC device (not to mention a lot of the
CPLDs are going 3.3V only). Sometimes the old stuff is still best. 

Peter Van Epp



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