DX TM1638 Display
I'm using the VHDL code from Hamster on my papilio board, and it works. Thanks Hamsterworks!
Looks like the pinning of the DX display cable as described by Hamster has changed (or was wrong). The silkscreen on my (ordered october 2011) DX display looks like this (this is the 'bottom view', the pins of the socket as seen from above are the mirror-image of this):
Gnd | Vcc |
DIO | CLK |
STB1 | STB0 |
STB3 | STB2 |
STB5 | STB4 |
So it looks like hamster's pinning has DIO/Data and CLK swapped, and the even Strobes were off by 2. Also, it's Strobe0 that controls this board (not Strobe1), the other strobes pass through to the 'out' connector.
I notice that after I power cycle (powered by USB cable) my papilio board (and the TM1638), I have to send the .bit file several times to the board. Strange.
I'm using this constraints.ucf file for my papilio board:
# Crystal Clock - use 32MHz onboard oscillator NET "clk" LOC = "P89" | IOSTANDARD = LVCMOS25 | PERIOD = 31.25ns ; NET "d_data" LOC = "P86" | IOSTANDARD=LVCMOS33; NET "d_clk" LOC = "P85" | IOSTANDARD=LVCMOS33; NET "d_strobe" LOC = "P84" | IOSTANDARD=LVCMOS33;
But other than that, Hamsters code works.