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


Groups > comp.lang.forth > #49432

Re: Forth in VHDL

From rickman <gnuarm@gmail.com>
Newsgroups comp.lang.forth
Subject Re: Forth in VHDL
Date 2016-07-25 00:17 -0400
Organization A noiseless patient Spider
Message-ID <nn43to$ul1$1@dont-email.me> (permalink)
References <nn3ti7$hte$1@dont-email.me> <d961466f-cd7f-4fb2-87cf-f1b0fbd796fb@googlegroups.com> <3fcf3f54-fbe5-45c7-91c1-f33f1d7f3ab3@googlegroups.com> <nn42ph$s48$1@dont-email.me>

Show all headers | View raw


On 7/24/2016 11:58 PM, Cecil Bayona wrote:
> On 7/24/2016 10:33 PM, Brad Eckert wrote:
>> On Sunday, July 24, 2016 at 8:08:36 PM UTC-7, Brad Eckert wrote:
>>> The J1 (http://excamera.com/sphinx/fpga-j1.html) is a small CPU written
>>> in Verilog. I'd study that as a start.
>>>
>> You'll notice that its ISA's jumps only span 8K words. Roomy enough
>> for a nice app, but you can easily jump to anywhere in the 64Kx16
>> address space by defining a word such as LJMP #k16, which would expect
>> the 16-bit data k16 immediately following the call. Sure it's slower
>> than a direct jump, but the CPU will spend most of its time below the
>> 8K mark.
>>
>> So, you really have a 128K byte address space. You could get creative
>> with a cheap SPI flash, perhaps use some of it for high level code,
>> some of it for BLOCK data storage. The only tricky think I see is
>> inserting wait states to make the J1 wait for the memory interface.
>>
> You can also push a number into the stack move it to the return stack
> then return, that will jump anywhere in the address space. Kind of long
> but you would only use it on rare occasions. The J1 can also execute
> multiple operations on one instruction so it might be possible with one
> opcode.

I designed a stack CPU many years ago and literals were pushed onto the 
return stack just because they were mostly used as addresses so the 
hardware for a "jump" a "call" and a "return" were the same if not used 
exactly the same.  When you wanted literal data the value would be moved 
from the return stack to the data stack.  This also made memory accesses 
easier since the address used one stack and the data the other.  It also 
allowed context switch very rapidly saving the address on the return 
stack and the processor status word on the data stack at the same time. 
One clock cycle interrupt response time *always*.  Not sure why Brad 
says interrupts aren't needed.  I guess he figures you can do anything 
you want with polling or maybe he would use a wait instruction like the 
Transputer and the F18A.

-- 

Rick C

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


Thread

Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-24 22:29 -0400
  Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-24 23:01 -0400
    Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-24 23:05 -0400
      Re: Forth in VHDL Cecil Bayona <cbayona@cbayona.com> - 2016-07-24 22:25 -0500
        Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 00:08 -0400
          Re: Forth in VHDL Cecil Bayona <cbayona@cbayona.com> - 2016-07-24 23:57 -0500
            Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 01:22 -0400
              Re: Forth in VHDL Paul Rubin <no.email@nospam.invalid> - 2016-07-24 22:38 -0700
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 01:53 -0400
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 05:31 -0700
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 05:36 -0700
                Re: Forth in VHDL Richard Owlett <rowlett@cloud85.net> - 2016-07-25 08:14 -0500
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 07:37 -0700
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 08:01 -0700
              Re: Forth in VHDL Cecil Bayona <cbayona@cbayona.com> - 2016-07-25 14:11 -0500
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 17:39 -0400
                Re: Forth in VHDL Cecil Bayona <cbayona@cbayona.com> - 2016-07-25 18:01 -0500
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 19:40 -0400
                Re: Forth in VHDL Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-07-26 11:04 +0100
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-26 11:13 -0400
                Re: Forth in VHDL anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-07-26 16:00 +0000
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-26 12:58 -0400
                Re: Forth in VHDL anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-07-27 09:39 +0000
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-27 10:01 -0400
                Re: Forth in VHDL Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-07-27 22:46 +0100
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-26 09:43 -0700
                Re: Forth in VHDL Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-07-28 09:12 +0100
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-28 05:04 -0400
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-28 07:56 -0700
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-28 13:04 -0400
                Re: Forth in VHDL Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-08-02 12:21 +0100
                Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-28 08:02 -0700
    Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-27 18:15 -0400
      Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-28 15:19 -0700
        Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-31 18:43 -0400
          Re: Forth in VHDL Paul Rubin <no.email@nospam.invalid> - 2016-07-31 17:10 -0700
  Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-24 20:08 -0700
    Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-24 20:33 -0700
      Re: Forth in VHDL Cecil Bayona <cbayona@cbayona.com> - 2016-07-24 22:58 -0500
        Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 00:17 -0400
          Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-25 10:02 -0700
            Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 14:13 -0400
              Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 14:17 -0400
              Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-25 15:04 -0700
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 19:28 -0400
                Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-25 17:20 -0700
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-25 23:07 -0400
                Re: Forth in VHDL Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-26 03:07 -0500
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-26 13:05 -0400
                Re: Forth in VHDL Brad Eckert <hwfwguy@gmail.com> - 2016-07-26 16:22 -0700
                Re: Forth in VHDL Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-27 03:57 -0500
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-27 10:34 -0400
                Re: Forth in VHDL Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-27 11:15 -0500
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-27 12:51 -0400
                Re: Forth in VHDL Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-27 16:12 -0500
                Re: Forth in VHDL "Elizabeth D. Rather" <erather@forth.com> - 2016-07-27 12:43 -1000
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-28 00:40 -0400
                Re: Forth in VHDL hughaguilar96@gmail.com - 2016-08-02 22:45 -0700
                Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-28 00:39 -0400
  Re: Forth in VHDL wzab01@gmail.com - 2016-07-25 01:48 -0700
  Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 05:57 -0700
    Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-07-25 06:02 -0700
    Re: Forth in VHDL Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-07-30 16:40 +0100
      Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-08-01 08:58 -0700
    Re: Forth in VHDL rickman <gnuarm@gmail.com> - 2016-07-31 17:10 -0400
      Re: Forth in VHDL JUERGEN <epldfpga@aol.com> - 2016-08-01 09:02 -0700
  Re: Forth in VHDL Ilya Tarasov <ilya74.tarasov@gmail.com> - 2016-07-29 05:42 -0700

csiph-web