Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"For the man who has everything... Penicillin." -- F. Borquin


devel / comp.arch.fpga / Verilog HDL Finite State Machine - detecting a decimal number

SubjectAuthor
* Verilog HDL Finite State Machine - detecting a decimal numberTanishk Singh
`- Re: Verilog HDL Finite State Machine - detecting a decimal numbergnuarm.del...@gmail.com

1
Verilog HDL Finite State Machine - detecting a decimal number

<3218bec4-c1ff-492d-bc42-861155a28206n@googlegroups.com>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=222&group=comp.arch.fpga#222

 copy link   Newsgroups: comp.arch.fpga
X-Received: by 2002:a05:620a:2950:: with SMTP id n16mr42395737qkp.405.1636261094054;
Sat, 06 Nov 2021 21:58:14 -0700 (PDT)
X-Received: by 2002:a05:622a:2d6:: with SMTP id a22mr19382324qtx.220.1636261093884;
Sat, 06 Nov 2021 21:58:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch.fpga
Date: Sat, 6 Nov 2021 21:58:13 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2405:201:5803:e874:652a:54b:3e08:678c;
posting-account=9SKrCwoAAADACjjxtTg2EK9fTTuidHhn
NNTP-Posting-Host: 2405:201:5803:e874:652a:54b:3e08:678c
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3218bec4-c1ff-492d-bc42-861155a28206n@googlegroups.com>
Subject: Verilog HDL Finite State Machine - detecting a decimal number
From: tanwarta...@gmail.com (Tanishk Singh)
Injection-Date: Sun, 07 Nov 2021 04:58:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 6
 by: Tanishk Singh - Sun, 7 Nov 2021 04:58 UTC

Hi all,

I am trying to build a sequence detector to detect a decimal number like 1092 when a stream of numbers from 0-9 is given as input. Do you think just changing the width of input i.e parallel inputs instead of series would result in pattern detection? I am lost in this, please help. If you have any resources around this do share them.

Re: Verilog HDL Finite State Machine - detecting a decimal number

<9e50ab63-421a-4fee-bb82-6e9a7fd8935dn@googlegroups.com>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=230&group=comp.arch.fpga#230

 copy link   Newsgroups: comp.arch.fpga
X-Received: by 2002:a05:622a:202:: with SMTP id b2mr15410407qtx.34.1637417665534;
Sat, 20 Nov 2021 06:14:25 -0800 (PST)
X-Received: by 2002:a05:6214:174d:: with SMTP id dc13mr82688282qvb.7.1637417665334;
Sat, 20 Nov 2021 06:14:25 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch.fpga
Date: Sat, 20 Nov 2021 06:14:25 -0800 (PST)
In-Reply-To: <3218bec4-c1ff-492d-bc42-861155a28206n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=24.138.223.107; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 24.138.223.107
References: <3218bec4-c1ff-492d-bc42-861155a28206n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9e50ab63-421a-4fee-bb82-6e9a7fd8935dn@googlegroups.com>
Subject: Re: Verilog HDL Finite State Machine - detecting a decimal number
From: gnuarm.d...@gmail.com (gnuarm.del...@gmail.com)
Injection-Date: Sat, 20 Nov 2021 14:14:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 45
 by: gnuarm.del...@gmail. - Sat, 20 Nov 2021 14:14 UTC

On Sunday, November 7, 2021 at 12:58:16 AM UTC-4, tanwart...@gmail.com wrote:
> Hi all,
>
> I am trying to build a sequence detector to detect a decimal number like 1092 when a stream of numbers from 0-9 is given as input. Do you think just changing the width of input i.e parallel inputs instead of series would result in pattern detection? I am lost in this, please help. If you have any resources around this do share them.

You can detect in parallel or sequentially as you choose. In parallel is simple, but uses more resources. If the data is arriving sequentially you will do better constructing a state machine. The states are:

IDLE - waiting for an input

NUMERIC - the last character was numeric

Logic is needed to tell if the current incoming character is a decimal digit or not. Based on that signal the transitions are -

IDLE
Decimal = 0 then remain in IDLE and perform no action.
Decimal = 1 then transition to NUMERIC state and perform no action.

NUMERIC
Decimal = 0 then transition to IDLE state and flag a number has been completed.
Decimal = 1 then remain in NUMERIC state and perform no action.

If you need to accumulate the value of the decimal number the character must be converted to a binary value and an accumulator must multiply the previous value by decimal 10 (simply add the present value to itself shifted by two and shift two more bits) and add the new binary value of the digit. Of course the accumulator value is not included on the first digit (when the present value of the state machine is "IDLE". When the flag says the last digit was received the value in the accumulator can be used.

Is that clear? I think I got all the details.

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209

1
server_pubkey.txt

rocksolid light 0.9.7
clearnet tor