On 8/29/2016 7:55 PM, rickman wrote: > On 8/29/2016 4:30 PM, Cecil Bayona wrote: >> Nothing Fancy, that is why in my earlier post I mentioned that I don't >> have a lot of experience. I been working a 32 bit stack based CPU, but >> it's a work in progress, I'm still sorting it out, it taken less than >> 20% of the chip, but a stack CPU are rather simple compared to other >> CPU's, when finished it should be pretty nice, most instructions take >> one clock to execute, and it used packed instructions, 5 instructions to >> a word fetch. Originally it was on a Lattice Brevia2, I am now >> converting it to a Artix-7 board, but there is software involved too so >> it's going slow and I'm learning as I go. > > Just a comment on your stack processor. I've done some design work with > stack processors and read about a lot of designs. In my humble opinion, > if you have multiple cycle instructions, you are doing it wrong. I > don't want to steal the thread. If you care to discuss this we can > start another thread. > I'm not sure why you think that it uses multiple c*ck instruction, I mentioned that most occur in one clock, the exception is load immediate it takes the instruction fetch, then a second fetch for the 32 bit value to push on the stack, all others take one clock. Even that one can take place in one clock with extra hardware to fetch RAM with a buffer to hold two 32 bit words, an alternative is to use two clocks one to execute the other to fetch program instructions.
What is does have is multiple instructions on one program word, it's five instructions or one depending on what it is, jump, and call take the whole 32 bit word and is not packed, everything else is 5 instructions to a 32 bit program word so you have fewer memory fetches.