Hi David,
Yes, any temperament could be programmed in. I use schematic entry (as apposed to verilog or VHDL code) with the software which goes quite quickly if you already have one as a template. Just calculate the dividers necessary - the chinese boards have a 48 or 50MHz clock oscillator on board, so for example 50MHz/7040Hz gives the top A divider needed, and change the schematic as necessary. The programming then just takes seconds. Mostly try to select an even divider number so that the last stage can be a divide by two to get a 1:1 mark-space. (There is another trick if this isn't possible).
I don't know if this is easier than using a PIC. I know that some computers cause drop outs when they suddenly decide to do something else - not a problem with CPLDs obviously.
Just had a look at the free phase trial that I did - I had the 3520Hz (A) octave the same phase as the top 7040 octave. The next 3 octaves 1760/880/440 all slightly out of phase. I think probably there wasn't enough room then to put the remaining octaves in in this fashion. One would have to use a second board for the rest. (The biggest CPLD - EPM2210x256 - in this series doesn't seem to be available on a cheap board).
(One other possibility would be to use the smallest CPLD board - EPM240t100 - one for each octave)!
Regards,
Gordon
Yes, any temperament could be programmed in. I use schematic entry (as apposed to verilog or VHDL code) with the software which goes quite quickly if you already have one as a template. Just calculate the dividers necessary - the chinese boards have a 48 or 50MHz clock oscillator on board, so for example 50MHz/7040Hz gives the top A divider needed, and change the schematic as necessary. The programming then just takes seconds. Mostly try to select an even divider number so that the last stage can be a divide by two to get a 1:1 mark-space. (There is another trick if this isn't possible).
I don't know if this is easier than using a PIC. I know that some computers cause drop outs when they suddenly decide to do something else - not a problem with CPLDs obviously.
Just had a look at the free phase trial that I did - I had the 3520Hz (A) octave the same phase as the top 7040 octave. The next 3 octaves 1760/880/440 all slightly out of phase. I think probably there wasn't enough room then to put the remaining octaves in in this fashion. One would have to use a second board for the rest. (The biggest CPLD - EPM2210x256 - in this series doesn't seem to be available on a cheap board).
(One other possibility would be to use the smallest CPLD board - EPM240t100 - one for each octave)!
Regards,
Gordon