Hub Exec?
David Betz
Posts: 14,516
I've seen a number of comments fly past about people thinking about adding hub exec to the P1 Verilog code. Has anyone actually started this? How far have you gotten? I've been thinking that hub exec is really the first step I need to take when tackling CMM since I first need to be able to fetch instructions from hub memory before trying to decode byte streams rather than PASM longs. Is anyone actively working on hub exec for P1?
Comments
I have cogs > 2KB so I cn move some code above 2KB to test it. I can code the jmpret wc as just a long so I can use proptool to compile this for me. I should b coding this tomorrow.
So yes, I am working on it.
1) Increase pc to > 9 bits. Probably choose 16/18 bits.
2) Change JMPRET to calculate both D & S operands as relative to pc if WC set.
3) Initially addresses > 2KB will be in extended cog.
Once working I can then proceed to making addresses > 4KB? in hub. But JMPRET WC cannot have D in hub.
I see the method I am using is just a stepping stone to getting hubexec working where I can test each step quicker. There is a lot to learn about verilog along the way, as well as properly understanding the actual P1 code too. I can get a program running using the upper cog ram without the details of accessing hub. Once this is established, together with the extra instructions required, then I can add in the fetch from hub.
pik33,
That's an interesting twist. I will be interested to see how it works out.