This IP has been retired. Use CF_owire_id instead.
CF_chip_id published the OpenFrame padframe mask_rev over a single-wire UART. The transmitter is driven by an external bit-rate clock that the customer has to wire to one of the OpenFrame GPIOs. That requirement is incompatible with a meaningful slice of OpenFrame designs — many test chips simply don't have a spare clock to dedicate to ID readout, and forcing customers to find one defeated the point of a "drop-in ID block".
CF_owire_id replaces it with a Dallas/Maxim 1-Wire slave that:
- needs no external clock connection (carries its own ring oscillator),
- speaks a standard, off-the-shelf host protocol that the Linux
w1driver, OWFS, FTDI MPSSE 1-Wire libraries, MCU 1-Wire libraries, and most logic-analyzer protocol decoders already know, - ships with both a dedicated-pin pad wrapper (
CF_owire_id_pad) and an open-drain shared-pin pad wrapper (CF_owire_id_shared) so the ID pin can be co-used with user logic on the same GPIO, - includes a self-checking iverilog testbench, a host-side Python decoder, and a worked OpenFrame reference design.
Wherever you had:
CF_chip_id_pad u_id (...); // or CF_chip_id_shared…instantiate the equivalent 1-Wire wrapper instead:
CF_owire_id_pad u_id (...); // or CF_owire_id_sharedThe pad-port signatures are identical. The only difference is that there is no clk_pin to wire up. See the CF_owire_id README for full integration examples.
The original CF_chip_id sources are preserved in the git history of this repository if you need to look at them. New designs should not use them.