"Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message news:5vkZb.27977$_76.2895@newssvr25.news.prodigy.com...> rickman wrote: > > You had to go and say that, didn't you! This is being posted to the > > Forth newsgroup and you will hear a few comments about this... ;) > > I realize that. No flames please. I have two decades of Forthexperience.> I'm from the days when you built your own computer from chips, wrote a > monitor, got Forth in there, wrote your own editor and then developed your > apps. I enjoy and love Forth. I truly do. I also love a language called > APL. I think it should rule the World.Heh. Heheh. I learned APL when I was a kid. I love it too. It taught me respect for languages that don't have an implicit order of operations. I, too, have been programming in Forth for 20+ years. I wrote a multi-user virtual reality system that used byte-coded Forth to move virtual objects between hosts on the Internet. One of the things that struck me is that's it's less awkward to write long floating-point expressions multiplying sine and cosine terms in Forth than it is in C. That's why Forth came to mind as language for designing filters, etc. Also for physical modeling of musical instruments. It's easy to build up waveguides, etc into function blocks that can be strung together on the command line. *Everything* is better with an interactive command prompt. The scripting language for the virtual reality objects was Forth, but the Forth interpreter itself was written in plain-vanilla C for portability. It ran fast enough (on Pentium 90s with software-only 3D rendering!) that the extra work of an assembler implementation wasn't worth it. I used Forth exactly where it made the most sense -- as a platform-independent VM-based object code -- and used C in a way that reflected _its_ strengths. I chose the languages based on their technical merits for a particular application, something I'd like to see more programmers do. The majority of the coding that I have done, both for pay and for self-directed projects, has been in C. I have been living in the same world of wanting portability, maintainability and ease of finding programmers. My goals for asking about DSP and Forth processors: I'm teaching myself digital design and DSP. My first substantial FPGA project was a minimal instruction set 16-bit Forth processor. It simulates at 90+ MIPS in a small Altera Cyclone part. It uses about 800 LEs. Looking at the Stratix family, I see they're chock-full of optimized multiply-and-accumulate blocks. Very nice! I did a stint at Korg R&D years ago, working on a legendary unreleased synth (the OASys). It was my intro to state-of-the-art synthesis, using physical modeling of instruments. At that time, I would have very much liked to build/buy some hardware to experiment with at home, but the cost was prohibitive. Now, I have a real chance to build some music hardware. And hardware for separating signals on the ham radio bands. And hardware to develop multi-processing ideas I've been toying with for years. I'm going to experiment and read all the papers I can get my hands on and pursue what's interesting, and if something I do looks like it has better cost/performance than something on the market, I'll look into commercializing it. After I have a project or two that I have physically realized, maybe someone will give me a job doing FPGA design. -Davka
Dual-stack (Forth) processors
Started by ●February 16, 2004
Reply by ●February 25, 20042004-02-25
Reply by ●February 25, 20042004-02-25
Davka wrote:> I learned APL when I was a kid. I love it too. It taught me respect for > languages that don't have an implicit order of operations.Small World, isn't it! The other thing that's nice about APL is the ability to abstract away from the mechanics of programming and live within the problem domain.> My goals for asking about DSP and Forth processors: > > I'm teaching myself digital design and DSP.<SNIP>> My first substantial FPGA project was a minimal instruction set 16-bitForth> processor. It simulates at 90+ MIPS in a small Altera Cyclone part. Ituses about 800 LEs. <SNIP>> state-of-the-art synthesis, using physical modeling of instruments.<SNIP>> liked to build/buy some hardware to experiment with at home, but the cost > was prohibitive. Now, I have a real chance to build some music hardware.Have you consider just doing it the FPGA way? I haven't stopped to think about what's required but you can certainly create building blocks in hardware (say, filters). Also, with the Virtex 2 Pro family you have the ability to use the PowerPC processor/s as, well, processors and the rest of the FPGA is available for custom peripherals (if you want to think of it that way). Of course, an optimized Forth machine would/could make it very interactive and fun to play with. Is there an implementation of Forth for PowerPC? Sounds like you are going to have some fun. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian To send private email: 0_0_0_0_@pacbell.net where "0_0_0_0_" = "martineu"
Reply by ●February 26, 20042004-02-26
"Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message news:KX7%b.2619$6k.0@newssvr27.news.prodigy.com...> Davka wrote: > > > I learned APL when I was a kid. I love it too. It taught me respectfor> > languages that don't have an implicit order of operations. > > Small World, isn't it! > The other thing that's nice about APL is the ability to abstract away from > the mechanics of programming and live within the problem domain.You're not the first fellow nerd that I've met who likes both Forth and APL. :-)> > was prohibitive. Now, I have a real chance to build some musichardware.> > Have you consider just doing it the FPGA way? I haven't stopped to think > about what's required but you can certainly create building blocks in > hardware (say, filters). Also, with the Virtex 2 Pro family you have the > ability to use the PowerPC processor/s as, well, processors and the restof> the FPGA is available for custom peripherals (if you want to think of it > that way).That's the plan. I've already put dozens of hours into learning the Altera tool and their chip families, so that's the way I will go initially. They have their own tiny RISC implementation (called NIOS), so if I don't do my own processor, I'll use that one. The idea for the system architecture is to have a bunch of DSP modules of various flavors in the hardware which can be dynamically allocated by the software system that manages them.> Of course, an optimized Forth machine would/could make it very interactive > and fun to play with. Is there an implementation of Forth for PowerPC?:-) I think it's called Open Firmware. -Davka
Reply by ●February 26, 20042004-02-26
Davka wrote:> > "Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message > news:KX7%b.2619$6k.0@newssvr27.news.prodigy.com... > > Davka wrote: > > > > > I learned APL when I was a kid. I love it too. It taught me respect > for > > > languages that don't have an implicit order of operations. > > > > Small World, isn't it! > > The other thing that's nice about APL is the ability to abstract away from > > the mechanics of programming and live within the problem domain. > > You're not the first fellow nerd that I've met who likes both Forth > and APL. :-) > > > > was prohibitive. Now, I have a real chance to build some music > hardware. > > > > Have you consider just doing it the FPGA way? I haven't stopped to think > > about what's required but you can certainly create building blocks in > > hardware (say, filters). Also, with the Virtex 2 Pro family you have the > > ability to use the PowerPC processor/s as, well, processors and the rest > of > > the FPGA is available for custom peripherals (if you want to think of it > > that way). > > That's the plan. I've already put dozens of hours into learning the Altera > tool > and their chip families, so that's the way I will go initially. They have > their > own tiny RISC implementation (called NIOS), so if I don't do my own > processor, > I'll use that one. > > The idea for the system architecture is to have a bunch of DSP modules of > various flavors > in the hardware which can be dynamically allocated by the software system > that manages them.I found a mention of a Forth for DSP called FROTH. I believe it is an open source project, but the page does not seem to have been updated in quite a while. Some of the other posters here may know more about it. -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by ●February 26, 20042004-02-26
"Davka" <mygarbagepail@hotmail.com> wrote in message news:<W01%b.2$mA3.6454@news.uswest.net>...> Heh. Heheh. > > I learned APL when I was a kid. I love it too. It taught me respect for > languages that > don't have an implicit order of operations. > > I, too, have been programming in Forth for 20+ years. I wrote a multi-user > virtual > reality system that used byte-coded Forth to move virtual objects between > hosts > on the Internet. One of the things that struck me is that's it's less > awkward to write > long floating-point expressions multiplying sine and cosine terms in Forth > than it is in C. That's > why Forth came to mind as language for designing filters, etc. Also for > physical modeling > of musical instruments. It's easy to build up waveguides, etc into function > blocks that can > be strung together on the command line. *Everything* is better with an > interactive command > prompt. > > The scripting language for the virtual reality objects was Forth, but the > Forth interpreter itself was written in > plain-vanilla C for portability. It ran fast enough (on Pentium 90s with > software-only 3D rendering!)Hmmm...that reminds me quite a bit of the "Metatopia" project. http://metatopia.sourceforge.net/ http://www.immersive.com/ Do you still have the code? Are you doing anything with it?> My goals for asking about DSP and Forth processors: > > I'm teaching myself digital design and DSP. > > My first substantial FPGA project was a minimal instruction set 16-bit Forth > processor. It simulates at 90+ MIPS > in a small Altera Cyclone part. It uses about 800 LEs.Cool. You should get this added to Jeff Fox's "Forth chips" page.> And hardware for separating signals on the ham radio bands. And hardware to > develop multi-processing > ideas I've been toying with for years.Interesting. I do think that wireless processing are the "new frontier" for hardware hackers. I have scene a packat modem implemented in FPGA. I'll send you the link if you're interested. Jeff should be able to give you some info of multi-processing MISC since that's something he's worked on in the past and seems to be the focus of the latest Chuck work (25x). Regards, John M. Drake
Reply by ●February 26, 20042004-02-26
"Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message news:<KX7%b.2619$6k.0@newssvr27.news.prodigy.com>...> Have you consider just doing it the FPGA way? I haven't stopped to think > about what's required but you can certainly create building blocks in > hardware (say, filters).I wasn't aware that the "FPGA way" and a Forth processor were mutually exclusive. Certainly Forth CPUs have had DSPs built into them before.> Of course, an optimized Forth machine would/could make it very interactive > and fun to play with. Is there an implementation of Forth for PowerPC?Mops can generate PowerPC code. As for embedded PowerPC I was surprised that I didn't see a SwiftX or VFX implementation on their websites although both supported ColdFire. Regards, John M. Drake
Reply by ●February 26, 20042004-02-26
jmdrake wrote:> > "Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message news:<KX7%b.2619$6k.0@newssvr27.news.prodigy.com>... > > > Have you consider just doing it the FPGA way? I haven't stopped to think > > about what's required but you can certainly create building blocks in > > hardware (say, filters). > > I wasn't aware that the "FPGA way" and a Forth processor were mutually > exclusive. Certainly Forth CPUs have had DSPs built into them before. > > > Of course, an optimized Forth machine would/could make it very interactive > > and fun to play with. Is there an implementation of Forth for PowerPC? > > Mops can generate PowerPC code. As for embedded PowerPC I was surprised > that I didn't see a SwiftX or VFX implementation on their websites > although both supported ColdFire.I believe that is because both companies are reactive rather than proactive. They port to a new platform when they are paid to do it. They don't speculate on their own dime. -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by ●February 26, 20042004-02-26
rickman <spamgoeshere4@yahoo.com> wrote in message news:<403E4817.2E1B127A@yahoo.com>...> jmdrake wrote:> > Mops can generate PowerPC code. As for embedded PowerPC I was surprised > > that I didn't see a SwiftX or VFX implementation on their websites > > although both supported ColdFire. > > I believe that is because both companies are reactive rather than > proactive. They port to a new platform when they are paid to do it. > They don't speculate on their own dime. > > -- > > Rick "rickman" CollinsRight. I guess I'm surprised that there (apparantly) hasn't been a request for PowerPC. Although I suppose it makes sense. Perhaps ColdFire is a better fit for embedded systems price/performance wise then PowerPC? Anyway Forth Inc does have a PSC1000 port and Patriot Scientific does have a PSC1000 core for use in FPGAs. Regards, John M. Drake
Reply by ●February 26, 20042004-02-26
On Thu, 26 Feb 2004 14:25:11 -0500, rickman <spamgoeshere4@yahoo.com> wrote:>> Mops can generate PowerPC code. As for embedded PowerPC I was surprised >> that I didn't see a SwiftX or VFX implementation on their websites >> although both supported ColdFire. > >I believe that is because both companies are reactive rather than >proactive. They port to a new platform when they are paid to do it.Sorry Rick, but it isn't always true. We certainly port when paid to do so, but we also do it when we like the CPU. The ARM and Coldfire VFX ports were done on our own dime. There are several CPUs we've done cross compilers for that I wish we hadn't wasted time on. We just don't have the budget to do every CPU on the market. In retrospect I consider the decision to support ARM rather than PPC a good one.>They don't speculate on their own dime.Oh yes we do. The VFX code generator was a speculative venture. Yes, we do it with commercial (and sometimes cautious) interest, but MPE at least has a long track record in speculative R&D ventures, including what eventually became the basis of the Europay OTA system. Stephen -- Stephen Pelc, stephenXXX@INVALID.mpeltd.demon.co.uk MicroProcessor Engineering Ltd - More Real, Less Time 133 Hill Lane, Southampton SO15 5AF, England tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691 web: http://www.mpeltd.demon.co.uk - free VFX Forth downloads
Reply by ●February 27, 20042004-02-27
John M. Drake wrote:> > Have you consider just doing it the FPGA way? I haven't stopped tothink> > about what's required but you can certainly create building blocks in > > hardware (say, filters). > > I wasn't aware that the "FPGA way" and a Forth processor were mutually > exclusive.Neither am I. :-) But, seriously, there are a lot of things that you cannot do with a sequential processor, Forth or otherwise. Example: 32 tap FIR filter running at 150MHz, one result per clock. What you can do is have a little Forth (or whatever) processor within the FPGA that loads coefficients into that filter. That's what I implied by the "FPGA way": Use the high-speed capabilities of FPGA's to develop custom processing sub-blocks that a Forth (or something else) processor can then pull strings on. This in contrast to insisting that everything be done with a Forth machine just out of attachment to the language (note that the OP is not suggesting that at all). -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian To send private email: 0_0_0_0_@pacbell.net where "0_0_0_0_" = "martineu"






