This is a new generation of Debug and Test Access Port
See the previous generation at https://hackaday.io/project/193122-dtap-debug-and-test-access-port
This one though is simpler (less convoluted) while keeping the main advantages and reducing the pin count : only 2 input pins are required. Their names SD and SC are kept, partly for historical reference.
The shift register uses a different type of bit : pairs of latches, instead of D Flip-Flops. This creates new opportunities to regenerate control signals inside the chip, beyond the input pins : some sequences of pulses extend the basic functions.
- A single bit shift operation is a pair of pulses : SD SC
- When SD and SC are asserted simultaneously, the shift register is fully transparent : the input value is copied to all the registers in the chain.
This is the condition for RESET : SD+ SC+ SD- SC-
For this to work though, the input value must be well defined.
We can observe that that if we repeat the pulse on SD or SC, this does not affect the state of the shift register / scan chain. The new general rule is : a full sequence contains any number of pulses on SD followed by any number of pulses on SC.
- During and after reset, a Data register (DFF) is cleared. It is toggled for every pulse on SD. Hence
- To input a 1, the sequence of is SD SC (since the first pulse on SD will set the data bit)
- To input a 0, the sequence of is SD SD SC (the second pulse on SD will reset the data bit)

The data input is indeed regenerated inside the chip, without all the complexities of I2C for example.
But by sending more pulses on SD and SC we can create more control signals.
If you send 4 SD pulses, a second DFF will toggle the "Latch-out" control signal, that holds the bit values for an outside circuit: (circuitjs)

Total cost : 2× DFF and one A22O
For input, the same idea is recycled but on the SC pin with 3 pulses. Special "input" cells get a pulse from a pair of DFF: (circuitjs)

Cost : 2 more DFF and a AND2.
Both can be combined and chained at will.

And the In and Out cells could also be combined.
(note : the latches here are MUX2 with loopback but that's just an artefact of CircuitJS, actual implementation is different)
.
TODO : for each SD/SC sequence, toggle the Address/Data flip-flop.
.
.
Routing trick and blocks
Speed is not a goal. Exact synchronicity is not an issue because clock edges have disappeared.
Blocks with inputs and outputs can be scattered across all around an IC's surface in any order. Each read or write block will contain their own control DFF to recreate the control signals, saving global routing resources.
.
Each block or functional unit is chained and the SD and SC are buffered, becoming logically separate for the synthesiser and P&R tools. They are demoted to simple point-to-point data wires that do not need extra special handling, thus liberating surface and buffers for the actual important circuits.
In contrast, JTAG requires high-fanout resources for TCK, load_enable and store_enable nets, as well as clock tree balancing to keep all the signals strictly synchronous.
Yann Guidon / YGDES
(don't mind the mislabeled inputs)
spudfishScott
zpekic
version avec A21OI à polarités alternées
https://www.falstad.com/circuit/circuitjs.html?ctz=DwYwlgTgBAZgvAIgIwKgFwM6IAwDpsEECsqYIiSeATAVQOx0DM2AHFQGwCcndqIARoiLZUAB0EIALI1QA3CENQBbTEICmAWiQoAfACgoUYAHcoAD0QbOkyVE7soVpFTvtU8BCID0+wyfOW1rZIDlY2ru44CD4GRqYWCBp0LMGhQVAhkZ7RvnEBicm2GowuSSkZbrBRMX7xlnRELtiODS5INlneucAAggB2ACb5SewsGeEjY1SSIlXZNXkJk1DTzUmNK3RUnTmx-kvsMyssY8XYtlQnOwv7lpRbUJIhjvculyzX3XWJlKxQJWtfmNGClPntvhoUsCaC8CNDZh4uuDhlDjqdXmiwbVhoUoIcWuV2pIsYtLCxnviyrZDiTgAB5aBLVpoxyHZrvHZQAD2ihu-SGS1RzCKzOFnJ5CBINzMOJKKw4rKIUyonE5GDAiGmqDQakQogArgAbDBqbbSnGSUqSUJ0c6OaRqjUILXoXUIAAiYD6u2xgoIGUujhY-pKtIhweacqcLlDcyRvsCzn+pU4SZpcZ9RndADFDWBRLmuaJhqmXJSTs10x4zV9hkCA6dSw2w3W4Q3YX8AS2lhiNJSMRyMzdw89nKcI82h90ZYLbY4QaciEhGPPzlliVB1ZqNzrEBgABZgGBoKBejJQABcUAAyu6bwBhAA6fQPR5PZ+aV9vN7v16ffQNY01HPL97wfcC4AAMgAczQABuU8AP1NBn0Ak0VkvH8sO-b8oNghCuWQg00EzYAZzuGxQgXF4kE4UpGCVddUC3Z0dzdAAlNQTTQL93QAagfATbw0B8NGfUjyJ+doiHtawaPaWSUDmDcWJdXcEGzMAzAkksWFCSROBXMIkFkhFEBUp01LdNAlFEHSe0oRsinuRslI8Czt21N1b3su5ziKOStGwZ4nCYzdLLYxA-1IiFmSsUIJ3i7t6g2NY4vsZLEh4Bw0tSzLIXsF5AwKtJKkRGKcXKLRipYQrqo+KdkSZKqo1xer8sS1qWu2RqEx+VhTioIhQm0DYNCGsrqlrHtsGG+dGBG2bQgm-LuHohbYTm4oFvyyhpkcd5YROA6rl60ksuKw6rDok6GvKm4GVbP5xuOoLnqQOhJuybleW6R6Zoecatt7IlxV+vZJLe05pDSZJ7UYGRlOYiKvKi91SIAGRLG7trSHGni+2YlCURA0AgfU1ExktLteujocyDMoGJ0nycp80lnSDQYccVN9IRsLVMihBouHJ7Tijesxw6ur+2wQGqympq-OeqNaqonr7u6HM8wLQ0ixROq6r0gKvprJWss+x5JEbS2zPmac60oIpuaCy2uf5pHws810ovvKmZteq7HPpwmxAof27iQMaJposaCc5URw-ZyPRnhkbl2hj33OR731J85PEhYJgoGGhKiBk4bVTmSpBdRhAAEVfMLhpHjnSEiDoVvEezr3WLrxuC77FgV3LmS+3YCvGM92ufYbpuh84R5GBMvs6BM6QNw8GuUdngfpssdgHmttZD5cGw7sVvrV5cRpTlPx4MrO25Env4+Wg2AzQ9FpkP+DVkj8fprc26wb5JhAQ-L++8Cgf0pMyY+tIAByXJGQpRvsVe+t8OpygJkGa2jwGZAKvqiHBkI8HDTtvGc6pCxjkKDHKchtJ+Qomwa1D+sZCFGCQSg6BZ88HXythfb6EopTdCYYKehExmREA6IzYRFUObhFvjzcIgDL5UOygIuhvDBGUOftQ-Bi0j4ELUb0QYwxaHSOdn-SxiDkHDDfufe0-pz6MLMUsWh0grR-08WDSU8jLAdwcLQjQFj2AUP8YkQJBjHBRIYU-CEHiQpRPjk-Lh9jrHFRmM0TBsjwZXwcZSBxwZ8pvyXF45on8SneL-lzZxqj7bAKyY8GpDj6m6IhE0pRtSKltIid05pawmkuKfpDJ4ndpAr0YNwJem9EDb1zm6PeEN7HaBLuXechk1mCI8n3XefSLHoIeDkjheiPF8NftbXabYQRFCiTc-KdyqrJOMQ0q+woWRnFsCkk5EJDqOOKB-S58ThiHS6TckulxaSQ2XIvUeRUTLl22TnXZ6kll+GhZIGSEyirjMYLMhA8yUWLL6WOAZRUxjDJ+XWQMXTSWVOBT2QMb9xp-HpVSpYNAKU1Lpb07+lhOUlzAQKtlJjfmsspMK4pqS7Ecr+LSmlkKGX8uOiQ953zRXDDVSFd5cT2WWB1WE26JcwmuIFMqilUZhXsJMWk2VFK+F0qBeVH6fi+RuPNSXCYAqbG5NdaI91iRDrGwOn8Y2viRF7Ftfyv4n10SBljeG0iYiPVxQFa0fK7yKxGorBmu0TAqJ2hzUqwNx182rlsPm2x3CWVjFRPVKAUJ8ppqqgKiMTbQ2WtDS89pILQ3+nreSSBwDSWJVbd2klgY60jvHXyn4k7+2koTSMusmKoANBXs4TuDR8WEqsogNFRhoVTIbS3aqJki5It7nuues6Xq1r4eCxtxa71rtTgClwS69WJANWsd5lbn1RNtLcy2-6v1QzXXaEJIG1wAcNbG-+H7RgPMNXW++T6TmjNWUXMeUyVwXoFjvVF88xlrqXBsxe26si7qFgevRTTEpNM-RqpY9G+H0ZnVA-pDG-6Dqqc0Bj-pePPrfsPcpDaOONL-m1ETBAq3pP42xwTTqoguojVfWhZaoMOFA8xgJIGNpaYbVKsDUSs0hJQ8ZkxybIlwbjlJxoiabhRsSG-eD-SmOvKMNZ8z-HCk8YVp5vRqJNMYh04FiE6Q3OidfTopNAbIRymDeAsNvq1OcJlagmLCGYuOf9Wawuco4rMnTc+1EZnotFrA8FgzZXLPheYR+mreCwu6Oc8l85Dx0O6Z4WuqqzI23Pv66wlwQmwP9f7WhiTV80P9v61NqhaGOsjfm3ombJ8Hged0ZDUYFGyOrxMpR6uyLr20e28PE9Y92ATxPZemeRHB7YbXZwNYLAO5Pe7uZY7NH55Fzw3pIM6yThVy3l9-ufSNF1o0WE2Lt76zgvA0Bq5G2DMYnVYF7bdphpjyVEEpDR2r3fcHmEhw1pF4hJVVsAjCz93zwRjfK784FKVyo6DvZg8EZfLbsvEnTAqdEpp0T7AI3UwxPKLVHdrP7sOwOHmzg2P-t0E4LdwjxL2fLwbc9xneHDIs4J2DtXK5FdFGXjJRXvBp4q4F5x8FYLyjQ4zXb56UPWAlOcQ+wFMPrce-nBsNkrvsnFRt4qsDDEyxHDCNSGYq1whsmURWvHVXEt8Ih8p+rANShElhPLfFPaZrvTdvWYoGtusJbaCEG2DhtAJ5L+kewax0jBwzRsOvcfXDhNvaHrL7628O9sHTHmls6a94bQ+8oQ-l1LARiubQClihRwyNoc3Pc7uq+l-q9XzhKBa4DMuXXK+rfLJl8EUaovK-aGV9Tm9a+X5C53yvJUwQqDtD35bq-w65ZtCWlnxrQ6r71iAx2GMHtDnuDpbFXhXnYMHiYpDL9gGNgGXDJM4NgMDnMpLqvofmSC3DPi9m9jPh9lIGgQfuisMKMNPrRJdtdtoErnzidvPDthkHLCvIfCZPcBLnrmzpxvfNoDCPwo3s+lweXtltoDtPwQ8NwblGXiIWNhsOIUIcuL-lQsyKNKUEofIflKoZBqoTQHJj-GXm+gIdXmnmSHKJQFtKiKYQoUFnghYbgkATQO3pxuYfYVonAQ4XsN5tFr2EoR-joZlsHEIQNLlu4fFp4UgH1jIWESAapuDuEP4aXgwadFVtYV-q7J-sNKauYoauflYs0Nkb4S5n-HEU0nwSct5rQr2G-K8EEepmAc4T5q4Q8mASkVEkgW4eplkc0U0ekdKtWpUYIf0uAdUVQn0ZBn0docJoUVHGJsIZYR0pMTwcUWocJv6LIVzJMVISXosW+osRsUYS5isUgU4rkYERPpYCRvcJMtMqwS-pfqdisiweQRsmQdQRbrcfslkf0QYZ7sAuUQNAEYkSXpLELsBpXsCY0aCftIZhYbmrYGZu8tCc+odEUSsScWBkif0Vsd8cQT2MelQWPJvgvi8cvq-ncT2KuhcTigwXQGwfvm-n-oGKsaSiUYCQyf0UyUsWBuyTwQKjMe2kAYcfWryYiX8MoSGvybsbntGvyZBjyUgfkTWgvm+uyYYZKSWkASkfCUtDCQwVtPCfYdqa0Uaq0RkRysdL2DyT4T0b2uqa9EyaiSpnIm6vli+tkWKQvqCKln0o+opgplicMf6G5p3ptjEbYF0tFscorMAF4OABAPoEAA