> I have a programmable VLSI chip which has some data and address bus > lines with high speed data running on. I want to use the 16F84 to read > the data changing on the data lines. However, the typical cycle time for > each data bit is 139 ns. For 16F84, the operating speed is only 10MHz, > and each instruction cycle takes already 400 ns. It looks to me that the > 16F84 is too slow for this application. Could anyone suggest me some > ways to solve the problem? You should collect the data in hardware (for example into an SRAM, with a counter controlling the address lines). A CPLD could be used as programmable pattern detector to find trigger points (eg to start or stop capturing). The PIC can then control the capture process, and examine the data afterwards. When continous realtime operation is required, you should either implement everything in hardware (for example FPGA or CPLD), or increase the bus width and process more data at once. With 1-bit wide serial data that is obviously easy, but with an 8 bit bus there is no spare bus width left at the PIC (-> use "bigger" CPU).