Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #54623

Re: embedded forth

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From rickman <gnuarm@gmail.com>
Newsgroups comp.lang.forth
Subject Re: embedded forth
Date Sat, 4 Feb 2017 04:22:33 -0500
Organization A noiseless patient Spider
Lines 78
Message-ID <o746dg$mbj$1@dont-email.me> (permalink)
References <49b3566a-3842-4f9f-a47f-a66590625fef@googlegroups.com> <2017Jan23.100126@mips.complang.tuwien.ac.at> <o64rhj$6sf$1@cherry.spenarnc.xs4all.nl> <o65m3r$asp$2@dont-email.me> <o67ld7$dg5$1@cherry.spenarnc.xs4all.nl> <o68smu$otg$1@dont-email.me> <423bc49f-f47d-415d-80d6-53fb0472c929@googlegroups.com> <o6dhov$l5l$1@dont-email.me> <ef764024-296b-463c-b522-31366ded00da@googlegroups.com> <o6gj07$ner$1@dont-email.me> <7f7415ad-9ba0-4d9a-ba9d-d08fad5c344e@googlegroups.com> <o6h8a0$6ns$1@dont-email.me> <efb05d34-e13b-47c0-8a0b-5075fcb43ca6@googlegroups.com> <o6iv9j$je6$1@dont-email.me> <92d07db1-18b7-410e-a77c-d7ab4f6606d8@googlegroups.com> <o6jl7s$dm6$1@dont-email.me> <4b343d40-7252-4919-8e0d-aeace01a87cd@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Sat, 4 Feb 2017 09:20:48 -0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="34c5b97265726e4c8d7df6f3b61d23bc"; logging-data="22899"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/LWhqHlgi9+fP/a7zm24FM"
User-Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0
In-Reply-To <4b343d40-7252-4919-8e0d-aeace01a87cd@googlegroups.com>
Cancel-Lock sha1:yXk+Tu975WELSAnG2eD+jgOpLZE=
Xref csiph.com comp.lang.forth:54623

Show key headers only | View raw


On 1/29/2017 1:20 PM, Ilya Tarasov wrote:
>>> Please specify. Do you mean approach, based on sin(a+b)? If so,
>>> we use sin(a+b) = sin(a)*cos(b) + cos(a)*sin(b), and this
>>> require multiplication of sin and cos values. Is it what you
>>> talking about?
>>
>> I am talking about the fact that you are making a big distinction
>> between a CORDIC computation and a multiplier when there is only
>> one real difference.  A CORDIC computation will use virtually the
>> same resources in the FPGA fabric as an equivalent multiply, likely
>> more. But the difference is that most FPGAs include hard IP
>> multipliers!  Hard IP uses *much* less silicon area than anything
>> done in the fabric. Altera has recently announced hard IP floating
>> point ALUs.
>
> You still don't list your algorithm details. Maybe it will consume
> LUTs in other parts, for control structures or so on. Of course, I
> know about hard multipliers (with 10+ years experience of approved
> Xilinx trainer it is very hard to miss something important). You need
> to store angles, sin/cos values and provide datapath control
> (sequental, pipelined or mixed). If you still can provide maximum
> error with 1 LSB for any datawidth, it is interesting. If not, it is
> an approximation, suitable for some purposes.

You mean I don't have a fully coded VHDL example at 32 bits word width 
to show you?  No, I don't.  But that is not needed.  The control logic 
would be trivial compared to thousands of LUTs.  The only extra logic 
required is on the order of a handful of adders and/or multiplexers.

I took the time to do some calculations which show to get results 
accurate to all but the last bit of a 32 bit word would require a sin() 
table with a quarter of a million values.  That would put it outside the 
realm of most FPGAs and require external memory.  However if external 
memory is used, this is not only feasible but simple.  The only issue is 
to get the step sizes small enough so the two approximations do apply, 
sin(b)=b and cos(b)=1.0 to within the required accuracy.

I've never seen an application that needed 32 bits of sin/cos.  The DDS 
work I've done was related to real world signals which are limited to 
some 20 to 24 bits of SNR when converting between analog and digital at 
very best.  I was pretty happy when I showed myself I could get 20 bits 
without any real trouble.


>> At this point I have lost my interest in debating this much
>> further. CORDIC is not the only method of calculating rotating
>> vectors.  It is useful where you have a lack of computing
>> resources.  If multiplication is readily available other methods
>> compare very favorably.
>
> So what is your method?
>
>>> because of reconfiguration capabilities. With Forth CPU we can
>>> additionally adapt this system to the man who works with hardware
>>> and tightly connect CPU to hardware.
>>
>> What exactly is a "Forth CPU"?
>
> I have several designs. Now it is 7th generation of
> microarchitecture, with hardware multithreading, targeting Spartan-6
> and 7-series Xilinx FPGAs.

But that doesn't tell me what a Forth CPU is.  I assume you really mean 
a stack machine.  When you say "hardware multithreading", I expect this 
is using the pipeline to facilitate multiple threads rather than 
concurrent instructions in a single thread?


>> How fast can a CORDIC be done?
>
> From 175 MHz to 300-400, depends on FPGA famuly, function calculated,
> datawidth and serial/parallel architecture.

Yeah, that would be a typical pipelined speed.

-- 

Rick C

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

embedded forth Dale Scott <dalescottnet@gmail.com> - 2017-01-21 11:27 -0800
  Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-21 11:31 -0800
  Re: embedded forth stephen@mpeforth.com - 2017-01-22 00:52 -0800
  Re: embedded forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-22 17:09 +0000
    Re: embedded Forth Dale Scott <dalescottnet@gmail.com> - 2017-01-22 09:43 -0800
      Re: embedded Forth stephen@mpeforth.com - 2017-01-22 12:19 -0800
      Re: embedded Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-22 21:25 +0100
      Re: embedded Forth john <anon@example.com> - 2017-01-22 21:04 +0000
        Re: embedded Forth "Elizabeth D. Rather" <erather@forth.com> - 2017-01-22 12:30 -1000
        Re: embedded Forth hughaguilar96@gmail.com - 2017-01-22 20:45 -0800
      Re: embedded Forth stephen@mpeforth.com - 2017-01-22 14:08 -0800
        Re: embedded Forth Paul Rubin <no.email@nospam.invalid> - 2017-01-22 14:55 -0800
          Re: embedded Forth Dale Scott <dalescottnet@gmail.com> - 2017-01-22 20:41 -0800
            Re: embedded Forth Paul Rubin <no.email@nospam.invalid> - 2017-01-22 21:19 -0800
      Re: embedded Forth hughaguilar96@gmail.com - 2017-01-22 21:36 -0800
        Re: embedded Forth Dale Scott <dalescottnet@gmail.com> - 2017-01-22 22:09 -0800
          Re: embedded Forth rickman <gnuarm@gmail.com> - 2017-01-23 04:15 -0500
            Re: embedded Forth Dale Scott <dalescottnet@gmail.com> - 2017-01-23 08:41 -0800
              Re: embedded Forth rickman <gnuarm@gmail.com> - 2017-01-23 14:32 -0500
                Re: embedded Forth Dale Scott <dalescottnet@gmail.com> - 2017-01-23 11:53 -0800
                Re: embedded Forth rickman <gnuarm@gmail.com> - 2017-01-23 15:10 -0500
              Re: embedded Forth Paul Rubin <no.email@nospam.invalid> - 2017-01-23 14:34 -0800
                Re: embedded Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-24 03:14 -0600
        Re: embedded Forth rickman <gnuarm@gmail.com> - 2017-01-23 03:43 -0500
          Re: embedded Forth john <anon@example.com> - 2017-01-23 10:32 +0000
          keep secrets (was Re: embedded Forth) "Wolfgang Allinger" <all2001@spambog.com> - 2017-01-23 08:58 -0300
            Re: keep secrets (was Re: embedded Forth) Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-23 07:47 -0500
              Re: keep secrets (was Re: embedded Forth) "Wolfgang Allinger" <all2001@spambog.com> - 2017-01-23 18:18 -0300
                Re: keep secrets (was Re: embedded Forth) rickman <gnuarm@gmail.com> - 2017-01-23 19:15 -0500
            Re: keep secrets (was Re: embedded Forth) rickman <gnuarm@gmail.com> - 2017-01-23 14:38 -0500
              Re: keep secrets (was Re: embedded Forth) "Wolfgang Allinger" <all2001@spambog.com> - 2017-01-23 18:43 -0300
                Re: keep secrets (was Re: embedded Forth) rickman <gnuarm@gmail.com> - 2017-01-23 19:48 -0500
                Re: keep secrets (was Re: embedded Forth) "Elizabeth D. Rather" <erather@forth.com> - 2017-01-23 16:30 -1000
                Re: keep secrets (was Re: embedded Forth) rickman <gnuarm@gmail.com> - 2017-01-23 22:23 -0500
  Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-22 13:44 -0500
    Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-22 13:38 -0800
      Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-23 00:45 -0500
        Re: embedded forth Dale Scott <dalescottnet@gmail.com> - 2017-01-22 22:44 -0800
          Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-23 00:48 -0800
          Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-23 03:51 -0500
      Re: embedded forth john <anon@example.com> - 2017-01-23 10:02 +0000
    Re: embedded forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-23 09:01 +0000
      Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-23 13:05 +0100
        Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-23 14:40 -0500
          Re: embedded forth Mark Wills <markwills1970@gmail.com> - 2017-01-24 01:12 -0800
          Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-24 14:38 +0100
            Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-24 19:51 -0500
              Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-25 11:34 +0100
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-25 22:13 -0500
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-26 11:36 +0100
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-26 14:07 -0500
              Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-26 00:19 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-26 14:15 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-27 13:08 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-27 17:54 -0500
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-27 15:29 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-27 16:28 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-27 23:58 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-28 11:58 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-28 15:36 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-28 15:05 -0800
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-28 15:57 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-28 21:51 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-29 09:53 -0800
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-29 19:32 +0100
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-29 11:53 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-30 01:10 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-29 23:11 -0800
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-29 23:34 -0800
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-30 12:42 +0100
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-30 12:36 +0100
                Re: embedded forth ctmalan@gmail.com - 2017-01-30 11:02 -0800
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-30 11:04 -0800
                Re: embedded forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-31 04:34 -0600
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-30 12:15 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-30 10:15 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-30 12:20 -0800
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-30 14:09 -0800
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-31 03:04 +0100
                Re: embedded forth Paul Rubin <no.email@nospam.invalid> - 2017-01-30 20:19 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-30 17:10 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-30 14:38 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-30 23:09 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-31 09:32 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-08 18:22 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-09 01:46 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-09 05:11 -0500
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-12 01:30 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-12 10:21 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-12 19:37 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-14 13:26 -0800
                Re: embedded forth Gary Bergstrom <forthprgrmr@gmail.com> - 2017-02-14 11:36 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-14 18:13 -0500
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-28 21:51 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-29 10:20 -0800
                Re: embedded forth Cecil Bayona <cbayona@cbayona.com> - 2017-01-29 12:38 -0600
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-29 11:49 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-04 04:22 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-04 17:54 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-04 20:26 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-05 07:53 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 11:08 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 11:39 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-08 06:46 -0800
                Re: embedded forth luser droog <mijoryx@yahoo.com> - 2017-02-13 19:17 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-15 06:23 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-15 11:09 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-15 15:24 -0800
                Re: embedded forth jkn_gg@nicorp.f9.co.uk - 2017-02-16 09:49 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-17 09:12 -0800
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-17 12:47 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-17 16:18 -0800
                Re: embedded forth luser droog <mijoryx@yahoo.com> - 2017-02-16 08:43 -0800
                Re: embedded forth Alex <alex@rivadpm.com> - 2017-02-05 20:47 +0000
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 13:36 -0800
                Re: embedded forth Alex <alex@rivadpm.com> - 2017-02-05 23:18 +0000
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 21:10 -0800
                Re: embedded forth Alex <alex@rivadpm.com> - 2017-02-06 11:12 +0000
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 21:15 -0800
                Re: embedded forth hughaguilar96@gmail.com - 2017-02-05 22:45 -0800
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-06 12:04 +0100
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-08 03:08 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-08 06:39 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-08 07:15 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-08 15:49 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-09 01:14 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-09 05:19 -0500
                Re: embedded forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-02-09 03:48 -0800
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-05 16:08 -0500
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-02-07 21:59 -0500
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-28 11:10 +0100
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-28 06:15 -0500
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-28 19:48 +0100
                Re: embedded forth rickman <gnuarm@gmail.com> - 2017-01-28 14:37 -0500
                Re: embedded forth mhx@iae.nl - 2017-01-28 07:48 -0800
                Re: embedded forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-28 19:53 +0100
                Re: embedded forth mhx@iae.nl - 2017-01-28 15:49 -0800
        Re: embedded forth "Wolfgang Allinger" <all2001@spambog.com> - 2017-01-23 18:46 -0300

csiph-web