I want to make a pcb, there will be the device with spi and i only need to read it's registers and send on bluetooth's rx pin. It's a little bit expensive to use microcontroller to just read registers. Is there some optimal solution for this? I need a programmable chip that read registers with spi and send values by uart.
There is an optimal solution, but for some reason you have excluded it. The cheapest and smallest solution by far will be a microcontroller. You should be able to find a micro for under a USD, in a handy SO-8 package that will have everything integrated. I found one in a quick parametric search.
Implementing such a hack with discrete logic will likely be twice as expensive, not to mention the board size and extra circuits needed.
It's a little bit expensive to use microcontroller to just read registers.
There are cheap MCUs :-)
I need a programmable chip that read registers with spi and send values by uart.
A programmable chip to do this, will effectively either be an MCU, or will need an MCU to program it e.g. the NXP SC16IS740 family.
If you are going for production i strongly advice against an MCU. The total cost for programming the MCU, handling the SW in a controlled way and keep track of what versions is compatible with what HW will likley be higher than a non-MCU solution.