Иноформационно-образовательный портал для FPGA разработчиков
Главное меню
  • Страница 1 из 1
  • 1
Модератор форума: KeisN13  
Управление синтезом: память
KeisN13
Рядовой
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
 
У вас есть HDL код, описывающий память.

1. Возможно ли из описания понять, как именно она будет реализована? (блочная, распределенная или еще как-то)

2. Какие нюансы описания памяти на языках HDL вы знаете?

3. Какие у RTL разработчика есть инструменты, которые могут управлять синтезатором при реализации памяти?
punzik
Рядовой
Группа: Проверенные
Сообщений: 4
Репутация: 1
Статус: Offline
 
1. Возможно. Например, если выход или выход не регистровый или есть сброс, то будет на регистрах (или LUT RAM, если нет сброса). Если в always блоке, который описывает RAM написать лишней логики, то синтезатор тоже может не понять, что нужна блочная. Маленький объём тоже скорее всего будет на регистрах или лутах.

2. Разный порядок разрешения конфликтов в двухпортовой памяти - чтение старого значения или нового. Нужно смотреть в доки, чтобы узнать, что поддерживается. Двухпортовая память обычно описывается в виде двух процессов, иначе синтезатор может не понять. Регистровые/нерегистровые адрес и данные. Что-то больше ничего на ум не приходит.

3. Директивы синтезатора, типа (* ram_style = block *)
  • Страница 1 из 1
  • 1
Поиск:
ePN