I am completely puzzled over buffered port. The Programming XC Handbook gives a lot of hints and http://github.xcore.com/doc_tips_and_tr ... reams.html is also quite helpfull.
But somehow neither of them (combined with random source code) can really answer my problem.
What I understood so far, correct me if I am wrong:
Code: Select all
buffered out port:32 jtag_pin_TCK = XS1_PORT_1D;
This is all configured by
Code: Select all
init() {
configure_clock_rate(tck_clk, 100, 10);
configure_out_port(jtag_pin_TCK, tck_clk, 0xffffffff);
configure_clock_src(jtag_clk, jtag_pin_TCK);
configure_out_port(jtag_pin_TDI, jtag_clk, 0);
configure_in_port(jtag_pin_TDO, jtag_clk);
configure_out_port(jtag_pin_TMS, jtag_clk, 0);
start_clock(tck_clk);
start_clock(jtag_clk);
}
What if I got a 8 bit port (e.g. XS1_PORT_8A) and want to clock out multiple values parallel. Is it best to redefine it as 1 bit ports (and which would that be for the example 8A, or where do I find this information)??
The output values are 16 bit. So either lots of 16 bit ports serialized to on bit ports or is it possible to have a 128 bit port serialized to an 8 bit port?