Groups | Search | Server Info | Login | Register
Groups > comp.lang.forth > #23981
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: OT (slightly) What is the "best" processor for a new project? |
| Date | 2013-06-27 10:58 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <kqhjm2$d2m$1@dont-email.me> (permalink) |
| References | (7 earlier) <fb88f560-45a5-4ff7-9ee9-45db6b518ea8@googlegroups.com> <kq1i61$7gp$1@online.de> <9395b6eb-21c2-40f2-bcb7-cbff77d0918c@googlegroups.com> <kq6qti$p3l$1@online.de> <21d980bc-12c9-477a-8df6-bd345c884e4a@googlegroups.com> |
On 6/26/2013 9:08 PM, hughaguilar96@yahoo.com wrote: > On Sunday, June 23, 2013 5:49:53 AM UTC-7, Bernd Paysan wrote: >> I don't know you spec. Your program might have been the smallest possible. >> I doubt it, because when you describe the adder with its sequential carry >> chain, the mind just boggles. Do that in hardware. If you do the carry >> chain in software, it takes a cycle per propagated bit. FPGAs and PLDs have >> special fast carry propagation circits. You can have as many parallelism in >> your assembly language, if adds are reduced to sequential carry propagation, >> your performance is very severely impacted. Adds are quite frequent >> operations. > > I don't think that you really know what you are talking about. A PLD doesn't have any "special fast carry propagation circuits," or special anything circuits --- it is just a big Karnaugh Map. Actually, that is not really correct. First, I think you are making the mistake of assuming that "PLD" means "CPLD" or "SPLD". That is a common assumption, but in reality PLD includes *all* programmable logic such as FPGAs. But even within the CPLD devices there are members which have dedicated carry logic, such as the Altera MAX V. > When you use ultra-high-level hardware-design languages such as VHDL or Verilog, you have libraries that contain functions for generating such things as 16 by 16 addition, and so forth, and you are apparently not aware of how the chip actually works internally. There is no hardware-design language for the Lattice PLDs though, except the one that Lattice provides which is pretty primitive --- Testra wrote their own in UR/Forth (I wasn't involved in writing that). I think you have never actually worked with HDLs have you? Lattice CPLDs are programmable in VHDL and Verilog although they still seem to support ABLE which is what I assume you are referring to. > There was a lot of difficulty in getting the MiniForth to route for the Lattice 1048. Obviously, if it were possible to make a 16 by 16 addition purely in hardware, Testra would have done so --- it was only realistic to make a 4 by 4 half-adder though, so that is what was done. First, addition is normally not referred to as 16 "by" 16 because the size of an adder is linear with bit length. Multipliers are order N^2 so they are typically referred to as N by M. A 16 bit adder in a modern CPLD would take 16 logic elements because the carry is provided in hardware. In an older CPLD like the one you seem to be talking about without carry support would use 32 logic elements. I don't see why that would be prohibitive unless the delay was the problem, slowing down the clock cycle. But if I understand you correctly, the clock speed was a blazing 50 MHz (or was it a bit faster?) but you needed 16 clock cycles to do a single ADD? That is pretty unbalanced for a CPU which is doing motion control math. I think the designer could have included a fast adder (there are other ways to speed it up than just ripple carry) and slowed the clock a little perhaps, but achieved a much faster design overall. As to routing, it seems pretty clear that the MinForth hardware designers didn't have much experience in designing PLDs. If you need to squeeze on the routing or speed, you need to at least do hand placement, a piece of cake on such a small device. In smaller designs it is possible to get 90% utilization if you work with the tools rather than against them. > By far, the primary weakness of the Dallas 80c320 which was used previously, was that 16 by 16 multiplication was too slow. Getting rid of this bottleneck, was pretty much the whole point of the MiniForth project. It was necessary to have a 16 by 16 multiplication under 1 micro-second. As I mentioned before, the only commercial processor at the time (1994) that did this, was the MC6812, but Testra decided against using it. Quite a lot of the MiniForth hardware was devoted to providing a fast multiplication (which does involve addition), and the MiniForth did provide a 16x16 multiplication that was more than fast enough --- I don't think you know more about implementing arithmetic in hardware than they did --- I don't think you really know much about hardware at all. A 1 us 16 x 16 multiply doesn't sound all that fast to me. I believe the 80C320 is just an 8051 variant with a slight execution speed advantage. It wouldn't be hard to do a lot better than that. >> To me, this doesn't sound like "common sense". > > The point that I'm making, is that having an assembly language is common sense, because this is a robust solution that can provide thousands of primitives. Limiting yourself to only 32 or 64 primitives, is just dumb --- that doesn't scale up --- you will never have anything except a toy processor using that technique. I have no idea what you mean be primitive. In the case of one of these CPUs you are talking about instructions. But in the MinForth you seem to be talking about something else. No one who uses soft cores in FPGAs seems to have problems with the number of "primitives". I wonder where the problem really is? Perhaps in your limited view of the problem? > The fact that you're using Verilog, implies that you are using a monster chip --- because those ultra-high-level hardware-design languages only work on monster chips. And yet, you have limited yourself to 32 primitives! The MiniForth was developed in 1995 when chips were pretty small --- now, two decades later, when we have monster chips available, the best that you can do is a toy processor with 32 instructions --- that is pathetic. LOL. You know so little but like to talk so big! I don't know all the devices available in 1995, but I know the Xilinx XC4000 family was available because I was using them! I won't try to diminish the significance of developing any processor on an FPGA at the time, but your claims of primitives and such is just nonsense. What matters in the case of the MinForth is speed and you have no idea where speed comes from. -- Rick
Back to comp.lang.forth | Previous | Next — Previous in thread | Find similar
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-16 23:17 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-17 14:19 +0200
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-17 16:04 -0700
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-17 16:15 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-18 00:01 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-19 15:33 +0200
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-19 17:25 -0400
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-19 17:00 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-20 18:35 -0400
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-19 17:38 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-20 12:51 +0200
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-20 15:28 +0000
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-20 18:39 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-21 14:50 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-22 18:56 -0700
Re: OT (slightly) What is the "best" processor for a new project? "WJ" <w_a_x_man@yahoo.com> - 2013-06-23 02:35 +0000
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-22 20:48 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-23 14:49 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-26 18:08 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-27 16:32 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 10:10 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 15:18 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 16:01 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 20:22 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-30 21:22 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 15:52 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-01 02:02 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 19:25 -0700
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-01 02:34 -0500
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 16:26 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-01 23:08 +0200
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 18:10 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-01 12:35 -1000
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 18:42 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-01 13:03 -1000
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-02 07:20 +0000
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-02 07:38 -1000
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-02 07:24 +0000
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-02 13:02 +0200
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 05:58 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 03:34 -0500
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-01 20:01 -0700
Re: OT (slightly) What is the "best" processor for a new project? "WJ" <w_a_x_man@yahoo.com> - 2013-07-02 04:43 +0000
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 03:41 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 06:09 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-02 13:51 -0700
Re: OT (slightly) What is the "best" processor for a new project? daveyrotten <danw8804@gmail.com> - 2013-07-02 14:37 -0700
Re: OT (slightly) What is the "best" processor for a new project? daveyrotten <danw8804@gmail.com> - 2013-07-02 14:56 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-03 00:30 +0200
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-03 02:19 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:18 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-03 18:10 -0700
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:30 -0400
Static superinstructions(was: OT (slightly) What is the "best" ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-03 14:33 +0000
Re: Static superinstructions(was: OT (slightly) What is the "best" ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-04 00:41 +0200
Re: Static superinstructions(was: OT (slightly) What is the "best" ...) "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-07 11:32 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-03 18:31 -0700
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-07 11:28 -0400
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-02 16:44 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 05:56 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 05:58 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:57 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-03 06:43 -0500
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 20:29 -0400
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-27 10:58 -0400
csiph-web