I am currently designing a custom PCB for a machine which has 3 Atmega328P-PU chips on it. The problem that I'm facing is that the Atmega chip in the centre("MM_ATMEGA328P", TopSilkLayer in the attached gerber file) isn't responding as expected. Simple delay(secs) functions aren't working. The timimg is awry. All the reading I've done on the net suggests that the problem lies in the placement of the crystal and it's capacitors. I've made 4 tries yet involving 4 different designs. In 1 of the designs, all the chips were functional but the MM_ATMEGA328P couldn't successfully convert from Serial to Parallel using the 74HC595 chip. I'm using an Arduino Uno to program the chips with the Arduino bootloader intact.

The chip is connected to a 74HC595 Serial-to-Parallel Converter through 4 lines: MCU Pins 14,15,23 and 24 to 74HC595 Data(14), Clock(11), Latch(12) and OE(13) respectively. There is a 4-wire Jumper Cable from "J1_1_OE.L.D.C" (in BottomSilkLayer) to "J1_0_C.L.OE.D" (BottomSilkLayer) to complete the routing. This is because I learnt that clock or data lines should be kept away from power lines and their supporting components.

As this is my first post in this forum, I am not sure if this is a valid question, i.e. maybe I shouldn't be asking you to check and comment on the gerber. Please feel free to mention it if that's the case. If not, please tell me the issues which need to be corrected in the PCB. I'm lost