FPGARelated.com
Forums

4 bit divisor with flip-flop ?

Started by eric February 3, 2004
Can anyone help me design a 4 bit divisor using flip flops. I want to
design a circuit that devides two BCD numbers (for example 8 / 3 = 2
and 2 for rest).
Can anyone helps ?

Thanks a lot

Eric
In article <17f33635.0402030650.2c88316@posting.google.com>,
digkpk@yahoo.gr (eric) writes:
|> Can anyone help me design a 4 bit divisor using flip flops. I want to
|> design a circuit that devides two BCD numbers (for example 8 / 3 = 2
|> and 2 for rest).
|> Can anyone helps ?

This is a FAQ.  Collect together a large number of flip-flops in
various colours.  Create a pile of (say) pink ones the side of
your divisor, and a pile of (say) blue ones the size of your
dividend.  Keep a pile of (say) yellow ones to hand.

Match up each pink one with a blue one, discard the blue ones,
and put one yellow one in another pile.  Then repeat.  When there
aren't enough pink ones to match the blue ones, the number of
yellow ones you have collected in the target pile is the quotient
and the number of blue ones left is the remainder.

Simple, isn't it?


Regards,
Nick Maclaren.
In comp.arch.fpga Nick Maclaren <nmm1@cus.cam.ac.uk> wrote:
> > In article <17f33635.0402030650.2c88316@posting.google.com>, > digkpk@yahoo.gr (eric) writes: > |> Can anyone help me design a 4 bit divisor using flip flops. I want to > |> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 > |> and 2 for rest). > |> Can anyone helps ? > > This is a FAQ. Collect together a large number of flip-flops in > various colours. Create a pile of (say) pink ones the side of > your divisor, and a pile of (say) blue ones the size of your > dividend. Keep a pile of (say) yellow ones to hand. > > Match up each pink one with a blue one, discard the blue ones, > and put one yellow one in another pile. Then repeat. When there > aren't enough pink ones to match the blue ones, the number of > yellow ones you have collected in the target pile is the quotient > and the number of blue ones left is the remainder. > > Simple, isn't it? > > > Regards, > Nick Maclaren.
Seriously speaking this is not too far from the truth. I won't actually design one for you but I can give you some pointers on how to get started. From the basics. 1. Consider the process of division, and I mean REALLY consider it. Look at how the process of long division works. 2. Look at the stages of division and divide them up to the point where you are only doing one operation( think FSMs) also consider points where decisions are made and also look at ending conditions(think in terms of programming and algorithms). 3. Take to pencil and paper and sit down to a big cup of coffee and work out a state diagram. 4. From there go through the usual steps to reduce it to equations. If this all seems too much for you just try a bit of googling, I'm sure someone out there should have a ready made solution. Alternatively Just shove it into a vhdl sim and then examine the eqns. P.S. if this sounds a lot like a load of BS, it prolly is. It 12:30 am here and I'm just a little sleepy. -- Wing Wong. Webpage: http://wing.ucc.asn.au
Nick Maclaren wrote:
> In article <17f33635.0402030650.2c88316@posting.google.com>, > digkpk@yahoo.gr (eric) writes: > |> Can anyone help me design a 4 bit divisor using flip flops. I want to > |> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 > |> and 2 for rest). > |> Can anyone helps ? > > This is a FAQ. Collect together a large number of flip-flops in > various colours. Create a pile of (say) pink ones the side of > your divisor, and a pile of (say) blue ones the size of your > dividend. Keep a pile of (say) yellow ones to hand. > > Match up each pink one with a blue one, discard the blue ones, > and put one yellow one in another pile. Then repeat. When there > aren't enough pink ones to match the blue ones, the number of > yellow ones you have collected in the target pile is the quotient > and the number of blue ones left is the remainder. > > Simple, isn't it? > > > Regards, > Nick Maclaren.
I'm afraid I must disagree. Mixing pink, blue and yellow would just lead to metastability issues. I would go for green, red, and purple. And don't forget to clock yourself, it's always a good idea to have a fully synchronous design. -- Pierre-Olivier -- to email me directly, remove all _N0SP4M_ from my address --
"eric" <digkpk@yahoo.gr> ha scritto nel messaggio
news:17f33635.0402030650.2c88316@posting.google.com...
> Can anyone help me design a 4 bit divisor using flip flops. I want to > design a circuit that devides two BCD numbers (for example 8 / 3 = 2 > and 2 for rest). > Can anyone helps ? > > Thanks a lot >
Can you evitate the crosspost ? It's not in netiquette and I'm very angry to download the same message a lot of time. Thank you Giuseppe
On Tue, 3 Feb 2004 17:44:18 +0100, the renowned
miaooaim.REMOVETHIS@tiscali.it> wrote:

> >"eric" <digkpk@yahoo.gr> ha scritto nel messaggio >news:17f33635.0402030650.2c88316@posting.google.com... >> Can anyone help me design a 4 bit divisor using flip flops. I want to >> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 >> and 2 for rest). >> Can anyone helps ? >> >> Thanks a lot >> >Can you evitate the crosspost ?
"Evitate" is listed as "obs. rare" in my two-volume supercondensed OED w/magnifier. It's not in most dictionaries (neither is the word "gullible", for some reason). Please evitate the use of such obscure words.
>It's not in netiquette and I'm very angry to download the same message a lot >of time.
Crossposting isn't necesarily a problem- in this case, the groups appear to all be relevant. Perhaps if you had a "real" newsreader, instead of ADD-addled OE it could remember whether you'd seen a given message between different newsgroups? It is far, FAR preferable to multiple posting. Multiple posting is EVIL, cross posting only has the potential. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
On Tue, 03 Feb 2004 16:40:48 GMT, PO Laprise wrote:

> Nick Maclaren wrote: >> In article <17f33635.0402030650.2c88316@posting.google.com>, >> digkpk@yahoo.gr (eric) writes: >>|> Can anyone help me design a 4 bit divisor using flip flops. I want to >>|> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 >>|> and 2 for rest). >>|> Can anyone helps ? >> >> This is a FAQ. Collect together a large number of flip-flops in >> various colours. Create a pile of (say) pink ones the side of >> your divisor, and a pile of (say) blue ones the size of your >> dividend. Keep a pile of (say) yellow ones to hand. >> >> Match up each pink one with a blue one, discard the blue ones, >> and put one yellow one in another pile. Then repeat. When there >> aren't enough pink ones to match the blue ones, the number of >> yellow ones you have collected in the target pile is the quotient >> and the number of blue ones left is the remainder. >> >> Simple, isn't it? >> >> >> Regards, >> Nick Maclaren. > > I'm afraid I must disagree. Mixing pink, blue and yellow would just > lead to metastability issues. I would go for green, red, and purple. > And don't forget to clock yourself, it's always a good idea to have a > fully synchronous design.
I don't *Think* so. Synchronous clocking of green flip-flops will almost certainly lead to ground bounce. Bob
On Tue, 3 Feb 2004 17:44:18 +0100, Giuseppe&#4294967295; wrote:

> "eric" <digkpk@yahoo.gr> ha scritto nel messaggio > news:17f33635.0402030650.2c88316@posting.google.com... >> Can anyone help me design a 4 bit divisor using flip flops. I want to >> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 >> and 2 for rest). >> Can anyone helps ? >> >> Thanks a lot >> > Can you evitate the crosspost ? > It's not in netiquette and I'm very angry to download the same message a lot > of time. > > Thank you > Giuseppe
Eschew obfuscation! Bob
nmm1@cus.cam.ac.uk (Nick Maclaren) wrote in message news:<bvod25$ke5$1@pegasus.csx.cam.ac.uk>...
> In article <17f33635.0402030650.2c88316@posting.google.com>, > digkpk@yahoo.gr (eric) writes: > |> Can anyone help me design a 4 bit divisor using flip flops. I want to > |> design a circuit that devides two BCD numbers (for example 8 / 3 = 2 > |> and 2 for rest). > |> Can anyone helps ? > > This is a FAQ. Collect together a large number of flip-flops in > various colours. Create a pile of (say) pink ones the side of > your divisor, and a pile of (say) blue ones the size of your > dividend. Keep a pile of (say) yellow ones to hand. > > Match up each pink one with a blue one, discard the blue ones, > and put one yellow one in another pile. Then repeat. When there > aren't enough pink ones to match the blue ones, the number of > yellow ones you have collected in the target pile is the quotient > and the number of blue ones left is the remainder. > > Simple, isn't it? > > > Regards, > Nick Maclaren.
Are you sure about that? SOunds too simple perhaps you left out a step ot two.
> >> Match up each pink one with a blue one, discard the blue ones, > >> and put one yellow one in another pile. Then repeat. When there > >> aren't enough pink ones to match the blue ones, the number of > >> yellow ones you have collected in the target pile is the quotient > >> and the number of blue ones left is the remainder. > >> > >> Simple, isn't it? > >> > >> > >> Regards, > >> Nick Maclaren. > > > > I'm afraid I must disagree. Mixing pink, blue and yellow would just > > lead to metastability issues. I would go for green, red, and purple. > > And don't forget to clock yourself, it's always a good idea to have a > > fully synchronous design. > > I don't *Think* so. Synchronous clocking of green flip-flops will almost > certainly lead to ground bounce. > > Bob
If you really go into the division operation, then it becomes obvious that you may have additions, substractions and shifts. Research has shown that the "grren flip-flop ground bounce problem" typically only occurs during when a "borrow" occurs in a substraction. An elegant solution to the problem has then been suggested: You make sure that you borrow a "pink" flip flop for the duration of that particular substraction. While not proven in theory, no ground bounce have been discovered so far in such a circuit. -- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This is a personal view which may or may not be share by my Employer Atmel Nordic AB