Перейти к содержанию
    

Переменные окружения в Vivado и инициализация блочной памяти

Приветствую!

1 hour ago, Doka said:

а как это можно реализовать автоматическим/полуавтоматическим способом

В Vivado

set name_mask  "*inst_name/g_bufwin\[1\].i_sdp_ram*"
set b_rams [get_cells -hierarchical -filter "NAME =~ $name_mask && PRIMITIVE_TYPE =~ BMEM.bram.*"]
foreach b_ram $b_rams {
  puts [get_property LOC $b_ram] 
  ...
}

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы работает в батче то заворачиваете все то, что написал Роб в скрипт file_name.tcl (можно добававить, чтобы скрипт писал в файл):
 

set bram_file [open "your_directory/bram_file.log" "w"]

set all_rams [get_cells -hier -filter {IS_PRIMITIVE  && ((REF_NAME =~ RAMB*) || (REF_NAME =~ FIFO*))}]

foreach ram $all_rams {

  puts $bram_file "Ram $ram is in location [get_property LOC $ram]\n"

}

close $bram_file

И последней строчкой в вашем скрипте по имплементу исполняйте file_name.tcl:

source file_name.tcl

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, egorman44 said:

((REF_NAME =~ RAMB*) || (REF_NAME =~ FIFO*))

есть кейсы в которых фифо надо тоже предынициализировать перед работой ? :umnik2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Doka said:

есть кейсы в которых фифо надо тоже предынициализировать перед работой ? :umnik2:

нет таких кейсов , ессно надо удалить (просто копипастил откуда-то) :

 

set all_rams [get_cells -hier -filter {IS_PRIMITIVE  && REF_NAME =~ RAMB*}]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

3 hours ago, Doka said:

есть кейся в которых фифо надо тоже предынициализировать перед работой ? :umnik2:

Ну чудики везде встречаются - даже в FPGA дизайне :blush: - например однократная инициализация секретными кодами после загрузки прошивки из криптованного битстрима. 

Удачи! Rob.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сделать как загрузка из внешнего источника, при подаче командой по шине.

Внешним может быть как DDR,  так и константы, либо в SRAM предварительно положить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...