Полагаю, вы не читали Руководство по программированию ADV7513
ADV7513 использует четыре карты регистров I2C. Программирование SDA / SCL
адрес для основной карты регистров 0x72 или 0x7A, в зависимости от того,
PD / AD слишком высоко (резистор 10 кОм к источнику питания = 0x7A) или тянет
низкий (резистор 10 кОм на GND = 0x72) при подаче питания на
принадлежности. Пользователь должен ждать 200 мс для определения адреса,
после того, как источники питания высоки, прежде чем пытаться связаться
с ADV7513 с использованием I2C
I2C-адреса являются 7-разрядными или 10-разрядными, а не 8-разрядными. В этом случае это 7-битный.
См. Спецификация I2C . Таким образом, если PD / AD высокий, 7-битный адрес равен 0x7A. В двоичном виде ваши 7 бит будут: 1111010
. Бит R / W является последним битом первого байта адреса I2C, но размещенный вами VHD-код не нуждается в этом как часть адреса, это делается отдельно.
addr : IN STD_LOGIC_VECTOR(6 DOWNTO 0); --address of target slave
rw : IN STD_LOGIC; --'0' is write, '1' is read
Если у вас все еще есть проблемы, проверьте подтягивания , тактовую частоту I2C SCL, убедитесь, что мастер позволяет растянуть тактовую частоту. Размещенный вами код VHDL содержит довольно много информации о том, как его использовать, поэтому перечитайте его.
В качестве альтернативы перейдите к вопросу Обмен электротехническими стеками и возьмите некоторые показания осциллографа SDA / SCL.