Поймите одну простую вещь: вы пишете не программу, вы описываете схему. Вы не столько программист, сколько схемотехник. Вы вправе хотеть написать что угодно, но вы ограничены, во-первых, принципами цифровой схемотехники, и во-вторых, возможностями конкретной микросхемы. И если в микросхеме, например, нет триггеров, которые бы работали по двум тактовым сигналам, то ваше описание синтезировано быть не может.
Все рассуждения по поводу "если условие не выполняется (нет фронта WR) тогда elsif и здесь проверка установки сигнала tx_data_load" должны производиться с пониманием того, что в железе это будет триггер. Допустим, триггер сработает по фронту WR. Каким образом будет выполняться процитированное?