Thank you very much for spending your time and the effort done!
In PISOsr, you should set the initial value of data_register and dout:
Yeah that true, i fixed that! Thanks!
I couldn't get 'trigger' to work, so I rewrote it with what it seems you are trying to do, but closer to my usual style
The Trigger is actually working, its more like a debounce thing which generates a cmd signal that starts the sequence. I don't know why it is not working for you, it is for me.
But here is the most likely problem - the Serialiser and Trigger are being driven by compclk, when maybe it should be driven by sck_clk?
The intention behind the 3 different clocks was that i need the Datapackets from the Sinetable transferred and updated with a frequency that corresponds to the desired output Sine, 2,08MHz is a bit too fast. The Second frequency was derived as i saw that my PISO seems to need two cmpclk cycles to update the output, the result was a 0101... instead of a 1100..... Therefore i wanted a ''SCK'' that is slower than the cmpclk.
To me it looks like the serialiser (PISOsr) is sending out a very short burst of data very fast, much faster than SCLK.
Also, the input to trigger (key) is not synchronized by back-to-back flipflops. You might end up with intermittent behavior.
A really the cause for your problems may be that you have made three clocks where you only really need one.
As for the traces, what you say is SCLK looks very much like SOut in my simulation.
I triple checked all leads and connections, i also have checked that the PISO kinda works. If i push the KeyA (TasterA) it puts one sequence on the bus. I can see that sequence so i am definitly shure that i have labeled the Net correctly. So the distortion definitely occuring on the SCL-Pin respectively the clock signal comming out of PrescalerSCK. My Simulation is showing all signals fine with no errors. The reallity though proofs it wrong.
There are some things i have changed in the meantime:
- removed the file PescalerSCK and instead made a new instance of "Prescaler"
-> no effect
- i changed the sythesis tool inside of Diamond to "Synplify Pro"
-> everything works great!
so i guess it is some kind of degree of freedome for the synthesis tool to decide what it wants to do...but i don't see it. Because i do not need to start the PISO-Sequence in order to see the bursts i guess it won't be the initial values of the PISO, but i'll try anyway.
Thank again for your effort!