Seairth,
It was not a personal attack, just stating the facts of what anyone can see here in the P2 forums. Phil constantly posting for Chip to stop doing what he wants to do.
I like Phil, and he has contributed a great deal over the years to Parallax and the forums, but he just seems to be nothing but negative in this P2 sub forum. I don't understand why he does it over and over. It's not healthy to always be so negative.
I want the P2 to get done also, but I also want Chip to make what he wants and be happy/satisfied with it. That will be the P2 chip that we all love to use. I know Chip would regret not making the changes he felt he could in the time he feels is available.
Also, I am not one that subscribes to the idea that all opinions are welcome, sorry, but constant negatives are not welcome. It's different from just having a differing opinion about how and what get done, it's about being negative towards the whole process. Phil has said several times he'd rather have Chip go off alone, not listening to any of us, and make the P2. He views this whole open process as a bad thing that should not have been done.
Roy, Phil's concerns relate to Parallax's business and future. He wants to see the company and employees succeed and is looking at the P2 from the perspective of value-engineering and diminishing returns. Parallax also has business with Phil, and his success depends on ours to some extent.
I'm sure Chip will be happy with the outcome no matter what people ask him to do. Nobody has ever forced Chip successfully to do anything other than what he wants to do. It has not happened in our history.
I think Phil is just expressing the frustration that many of us have had waiting for the P2 over the past several years. I have made comments similar to Phil's many times in the past. At this point I don't think Chip is in the critical path as far as the schedule is concerned. The P2 development board should be in the hands of dozens of users within a couple of weeks. I'm looking forward to trying out lots of things on the P2. However, I would be disappointed if I don't get the board by Christmas.
Phil, maybe you are concerned that Chip isn't focusing on Spin for the P2. I would suggest using Eric's fastspin compiler. It has some of the new features that have been proposed for Spin2, and it should run pretty fast on the P2.
And, no chip has ever been designed this way before, because of the secretive nature of the semiconductor industry.
Heater might raise the RISC-V about now. Although, that isn't a collective effort for one implementation - It's just a collection for pillaging. Like BSD was before Linux brought GPL into the mix.
Please explain more. I want to understand.
By "a collection for pillaging" I mean same as what we're doing with Sinc. We've discovered it's a useful addition for the Propeller to have. So we cherry pick just what we want from a much larger mathematical heritage. One function from a bigger library.
BSD was functional in the 1980's but no-one treated it as a finished product. It was always just picked over for useful methods and tools to add to other products.
I really do want the P2 to succeed -- but not at the expense of Parallax's other business, which seems to be where things are headed with these interminable delays and sidetracks. There's a cost to be reckoned with, and I don't think Chip is cognizant of that. Family-wage jobs and Parallax's financial survival are at stake here, while Chip fiddles away at one self-indulgent diversion after another. So even though I don't see the P2 in any future implementations of my own, its success is vitally important to Parallax's continued viability with the P1 and their other products, and hence to me.
So I shall continue to hammer on the theme that I've established from the beginning: that the P2 should be a result of Chip's singular vision -- as was the P1 -- and that it needs to get FINISHED, even if that entails compromise. Remember, "Perfect is the enemy of good enough." And after nearly 13 years in development, good enough will have to suffice, or there never will be a P2; and the very survival of Parallax -- the company we all love -- will be challenged as never before.
A 4 channel "scope" does sound pretty cool and even if the analog bandwidth is limited to several MHz I can imagine it could come in very handy for audio and for other signal processing.
Yes, and of course there is the 250Mhz streamer in there for the Logic Analyzer capture of digital signals too.
Also in there I think, is a threshold adjustable by DAC, but I've not seen the speed spec testing results on that yet, or the range ?
Yes, it turns out this is a separate DAC, slower and presumably higher impedance than the others.
I missed/forgot about it when testing the other DACs, so we'll come back to it. There is a way to expose the threshold voltage through adjacent pin B that we'll take advantage of, then run the same GIO/ramp up/VIO/ramp down/GIO sequence that we did for the other DACs
Evan, do you have a simulated bitstream that you could input into Sinc3? If so, could you try acc1/2/3=30/27/24-bit?
I've got a basic auto-generating ramp setup from earlier work.
First attempt:
- Reset every 256 clocks, with 4 sub-samples, is matching the old output perfectly.
- Pure rolling window has some sort of roll-over problem going negative ... at 8th sample - clock 2000ish.
Phil,
The P2 is not and has never been Chip's single vision. He has collaborated with others continuously over the 13 years. It's the path that Chip & Ken chose for the P2 to be open in its development. You disagree with that, you have said so many times. I'm sorry, but I don't think it's going to change.
I get all the other stuff, and I worry about them also, but I don't tell Chip and Ken how to run their development. They wouldn't and shouldn't listen to me on that. I also know Ken and his team have made changes and are succeeding and I believe they will continue to do so. The P2 is closer to done than it's ever been, and they are on the path to its completion WITH the collaboration and Chip working on what he feels is important.
I'm just tired of hearing "stop doing what you want to be doing and feel is important, and instead do what I say" coming from you for the last decade.
Ken,
I share the worry about Parallax with Phil, but I trust that you have been running things and keeping things going.
Honestly, I am more concerned about the things impacting your business besides the P2, like the tariff Smile raising costs, and the impending economic disasters we all face in the near future (from many fronts).
A 4 channel "scope" does sound pretty cool and even if the analog bandwidth is limited to several MHz I can imagine it could come in very handy for audio and for other signal processing.
Yes, and of course there is the 250Mhz streamer in there for the Logic Analyzer capture of digital signals too.
Also in there I think, is a threshold adjustable by DAC, but I've not seen the speed spec testing results on that yet, or the range ?
Yes, it turns out this is a separate DAC, slower and presumably higher impedance than the others.
I missed/forgot about it when testing the other DACs, so we'll come back to it. There is a way to expose the threshold voltage through adjacent pin B that we'll take advantage of, then run the same GIO/ramp up/VIO/ramp down/GIO sequence that we did for the other DACs
Those tests would all be useful additions to the DAC test portfolio, but I was meaning more the speed of the digital pathway, and the common mode range of the comparator used with the DAC
I doubt that will manage to follow a 100+MHz signal ?
You could test the narrow pulse operation, by generate of a PWM on one pin, and Threshold-path capture on another, and vary duty down to 1 sysclk.
A capture of 2 pin paths, one straight std digital, and one via threshold-compare could also show the propagation delays ?
I've had my say. Feedback from you and other forumistas is always welcome. We share the same objectives -- the ultimate success of Parallax -- but perhaps not the same methods. And I respect that.
Evan, do you have a simulated bitstream that you could input into Sinc3? If so, could you try acc1/2/3=30/27/24-bit?
I've got a basic auto-generating ramp setup from earlier work.
First attempt:
- Reset every 256 clocks, with 4 sub-samples, is matching the old output perfectly.
- Pure rolling window has some sort of roll-over problem going negative ... at 8th sample - clock 2000ish.
If you restore the pruned bits, does that roll-over problem go away ? Is there any pruned-count solution, or do all accs need to be 30 bits ?
My concern is also for Parallax, not my own interests.
The current P2 silicon (alpha if you like) is here. It works but has some minor flaws.
What concerns me is that the digression from just fixing what needs to be fixed is being derailed by some keen to see the chip go in different directions, and add in many new features. They are not fixes nor minor tweeks!
There is a limited time frame here. And that time is not being spent on the things that matter!
If it were not for the signed bug, and the power issue, I would be saying keep the P2 as-is.
Everyone is entitled to state their position without fear. Whether it's taken is for Chip & Ken to decide.
Evan, I think you're pruning the MSB's, which is wrong. The LSB's are pruned. Also you don't actually need DIFxMASK as pruning the differentiators saves no logic.
Cluso, I am of the same opinion that Parallax should just be fixing bugs in the P2, and not adding other features. I I
I'm concerned that additional bugs will be introduced, and Parallax will have to do a third round of silicon to fix the new bugs. Time will tell.
Evan, I think you're pruning the MSB's, which is wrong. The LSB's are pruned. Also you don't actually need DIFxMASK as pruning the differentiators saves no logic.
Ah, I shouldn't have called that pruning or truncating. It's defining the register size to emulate.
Evan, I think you're pruning the MSB's, which is wrong. The LSB's are pruned. Also you don't actually need DIFxMASK as pruning the differentiators saves no logic.
Ah, I shouldn't have called that pruning or truncating. It's defining the register size to emulate.
Pruning the differentiators/combs is a waste of time, literally. I wonder if we could prune acc2 and acc3 a bit more. The basic concept is that the cumulative errors from pruning should be no more than the truncation error without pruning. If we don't prune the combs, we might be able to have bigger errors and hence bigger pruning for the acc's.
I think acc1 should be 30+1 bits wide, but we can prune it by 1 bit so 30-bit is OK.
Evan, I think you're pruning the MSB's, which is wrong. The LSB's are pruned. Also you don't actually need DIFxMASK as pruning the differentiators saves no logic.
Ah, I shouldn't have called that pruning or truncating. It's defining the register size to emulate.
Cluso, I am of the same opinion that Parallax should just be fixing bugs in the P2, and not adding other features. I I
I'm concerned that additional bugs will be introduced, and Parallax will have to do a third round of silicon to fix the new bugs. Time will tell.
And can Parallax afford a third round of silicon???
Got it! Both variants are doing exactly same ramp. Point for point.
I've taken on board Tony's suggestion about moving everything up to the top of the native variables too, in this case C datatype uint32_t. So, for each bit in the bitstream, I'm adding four to Acc1 and masking off the bottom two lsbits instead of adding one and masking off the two msbits. Same story for the remaining register emulation.
So that probably means I had a register alignment problem before. As he said, the msbit is what lines up down the stages.
Got it! Both variants are doing exactly same ramp. Point for point.
I've taken on board Tony's suggestion about moving everything up to the top of the native variables too, in this case C datatype uint32_t. So, for each bit in the bitstream, I'm adding four to Acc1 and masking off the bottom two lsbits instead of adding one and masking off the two msbits. Same story for the remaining register emulation.
So that probably means I had a register alignment problem before. As he said, the msbit is what lines up down the stages.
Will all this work for non-power-of-2 sample counts?
It has lost a little resolution. The slow starting ramp up of that 50000 clocks now has a flat three samples then a one sample over reaction before settling.
It has lost a little resolution. The slow starting ramp up of that 50000 clocks now has a flat three samples then a one sample over reaction before settling.
I think you're still pruning the diff's. If so, please don't as there is no need.
How many errors in the two 50000 cycles? Just the LSB? Try rounding.
It's not my idea. I've been doing some reading and this is called Integrate and Dump. It could be used elsewhere in the smart pins, probably. In the differentiator diff1 stores the previous value of acc3, but if acc3 is reset after being read then diff1 is redundant.
I like this idea. In typical operation we would just be calculating the difference anyway. This saves an instruction or two.
The proposed Tukey window is better than a sinc3 length 8, mostly because the inpulse response is longer. Comparing it to a length 16 sinc3 it's mixed.
Will all this work for non-power-of-2 sample counts?
No problem at all. In my source there, the "chunklen" is the clocks per sample. EDIT: Amusingly it should even work for sub-word bit positions in the bitstream. Not something I explicitly tried to make work.
Comments
It was not a personal attack, just stating the facts of what anyone can see here in the P2 forums. Phil constantly posting for Chip to stop doing what he wants to do.
I like Phil, and he has contributed a great deal over the years to Parallax and the forums, but he just seems to be nothing but negative in this P2 sub forum. I don't understand why he does it over and over. It's not healthy to always be so negative.
I want the P2 to get done also, but I also want Chip to make what he wants and be happy/satisfied with it. That will be the P2 chip that we all love to use. I know Chip would regret not making the changes he felt he could in the time he feels is available.
Also, I am not one that subscribes to the idea that all opinions are welcome, sorry, but constant negatives are not welcome. It's different from just having a differing opinion about how and what get done, it's about being negative towards the whole process. Phil has said several times he'd rather have Chip go off alone, not listening to any of us, and make the P2. He views this whole open process as a bad thing that should not have been done.
I'm sure Chip will be happy with the outcome no matter what people ask him to do. Nobody has ever forced Chip successfully to do anything other than what he wants to do. It has not happened in our history.
Ken Gracey
I think Phil is just expressing the frustration that many of us have had waiting for the P2 over the past several years. I have made comments similar to Phil's many times in the past. At this point I don't think Chip is in the critical path as far as the schedule is concerned. The P2 development board should be in the hands of dozens of users within a couple of weeks. I'm looking forward to trying out lots of things on the P2. However, I would be disappointed if I don't get the board by Christmas.
Phil, maybe you are concerned that Chip isn't focusing on Spin for the P2. I would suggest using Eric's fastspin compiler. It has some of the new features that have been proposed for Spin2, and it should run pretty fast on the P2.
By "a collection for pillaging" I mean same as what we're doing with Sinc. We've discovered it's a useful addition for the Propeller to have. So we cherry pick just what we want from a much larger mathematical heritage. One function from a bigger library.
BSD was functional in the 1980's but no-one treated it as a finished product. It was always just picked over for useful methods and tools to add to other products.
I really do want the P2 to succeed -- but not at the expense of Parallax's other business, which seems to be where things are headed with these interminable delays and sidetracks. There's a cost to be reckoned with, and I don't think Chip is cognizant of that. Family-wage jobs and Parallax's financial survival are at stake here, while Chip fiddles away at one self-indulgent diversion after another. So even though I don't see the P2 in any future implementations of my own, its success is vitally important to Parallax's continued viability with the P1 and their other products, and hence to me.
So I shall continue to hammer on the theme that I've established from the beginning: that the P2 should be a result of Chip's singular vision -- as was the P1 -- and that it needs to get FINISHED, even if that entails compromise. Remember, "Perfect is the enemy of good enough." And after nearly 13 years in development, good enough will have to suffice, or there never will be a P2; and the very survival of Parallax -- the company we all love -- will be challenged as never before.
-Phil
Yes, it turns out this is a separate DAC, slower and presumably higher impedance than the others.
I missed/forgot about it when testing the other DACs, so we'll come back to it. There is a way to expose the threshold voltage through adjacent pin B that we'll take advantage of, then run the same GIO/ramp up/VIO/ramp down/GIO sequence that we did for the other DACs
I've got a basic auto-generating ramp setup from earlier work.
First attempt:
- Reset every 256 clocks, with 4 sub-samples, is matching the old output perfectly.
- Pure rolling window has some sort of roll-over problem going negative ... at 8th sample - clock 2000ish.
The P2 is not and has never been Chip's single vision. He has collaborated with others continuously over the 13 years. It's the path that Chip & Ken chose for the P2 to be open in its development. You disagree with that, you have said so many times. I'm sorry, but I don't think it's going to change.
I get all the other stuff, and I worry about them also, but I don't tell Chip and Ken how to run their development. They wouldn't and shouldn't listen to me on that. I also know Ken and his team have made changes and are succeeding and I believe they will continue to do so. The P2 is closer to done than it's ever been, and they are on the path to its completion WITH the collaboration and Chip working on what he feels is important.
I'm just tired of hearing "stop doing what you want to be doing and feel is important, and instead do what I say" coming from you for the last decade.
I share the worry about Parallax with Phil, but I trust that you have been running things and keeping things going.
Honestly, I am more concerned about the things impacting your business besides the P2, like the tariff Smile raising costs, and the impending economic disasters we all face in the near future (from many fronts).
Those tests would all be useful additions to the DAC test portfolio, but I was meaning more the speed of the digital pathway, and the common mode range of the comparator used with the DAC
I doubt that will manage to follow a 100+MHz signal ?
You could test the narrow pulse operation, by generate of a PWM on one pin, and Threshold-path capture on another, and vary duty down to 1 sysclk.
A capture of 2 pin paths, one straight std digital, and one via threshold-compare could also show the propagation delays ?
I've had my say. Feedback from you and other forumistas is always welcome. We share the same objectives -- the ultimate success of Parallax -- but perhaps not the same methods. And I respect that.
-Phil
If you restore the pruned bits, does that roll-over problem go away ? Is there any pruned-count solution, or do all accs need to be 30 bits ?
The current P2 silicon (alpha if you like) is here. It works but has some minor flaws.
What concerns me is that the digression from just fixing what needs to be fixed is being derailed by some keen to see the chip go in different directions, and add in many new features. They are not fixes nor minor tweeks!
There is a limited time frame here. And that time is not being spent on the things that matter!
If it were not for the signed bug, and the power issue, I would be saying keep the P2 as-is.
Everyone is entitled to state their position without fear. Whether it's taken is for Chip & Ken to decide.
EDIT: And the code for each variant:
EDIT2: The truncation masking:
Evan, I think you're pruning the MSB's, which is wrong. The LSB's are pruned. Also you don't actually need DIFxMASK as pruning the differentiators saves no logic.
I'm concerned that additional bugs will be introduced, and Parallax will have to do a third round of silicon to fix the new bugs. Time will tell.
Ah, I shouldn't have called that pruning or truncating. It's defining the register size to emulate.
Right, but it's working? If so, that's excellent.
If you're interested in precise pruning, take a look at
https://www.so-logic.net/documents/trainings/03_so_implementation_of_filters.pdf
and search for: Pruning LSBs
Pruning the differentiators/combs is a waste of time, literally. I wonder if we could prune acc2 and acc3 a bit more. The basic concept is that the cumulative errors from pruning should be no more than the truncation error without pruning. If we don't prune the combs, we might be able to have bigger errors and hence bigger pruning for the acc's.
I think acc1 should be 30+1 bits wide, but we can prune it by 1 bit so 30-bit is OK.
This pruning is slightly lossy, right?
And can Parallax afford a third round of silicon???
I've taken on board Tony's suggestion about moving everything up to the top of the native variables too, in this case C datatype uint32_t. So, for each bit in the bitstream, I'm adding four to Acc1 and masking off the bottom two lsbits instead of adding one and masking off the two msbits. Same story for the remaining register emulation.
So that probably means I had a register alignment problem before. As he said, the msbit is what lines up down the stages.
EDIT: Here's latest source code:
Will all this work for non-power-of-2 sample counts?
So both pruning variants are exactly the same as no pruning?
It has lost a little resolution. The slow starting ramp up of that 50000 clocks now has a flat three samples then a one sample over reaction before settling.
I think you're still pruning the diff's. If so, please don't as there is no need.
How many errors in the two 50000 cycles? Just the LSB? Try rounding.
Done, no difference at all that I could see.
Here's a graph with all three:
- Yellow is my older method using all 32-bit
- Blue is the tightest with diff masking
- Red has no diff masking
The proposed Tukey window is better than a sinc3 length 8, mostly because the inpulse response is longer. Comparing it to a length 16 sinc3 it's mixed.
For the Tukey, the max could be anywhere from 1020-1023. It doesn't have to be 1023.
The cutoff frequency seems just a little low for analog video. Although I wonder what the response is on the analog part of the chip.
No problem at all. In my source there, the "chunklen" is the clocks per sample. EDIT: Amusingly it should even work for sub-word bit positions in the bitstream. Not something I explicitly tried to make work.