Почему автобус Axi lite занимает два BRAM_18K? - PullRequest
0 голосов
/ 19 февраля 2019

Ниже приведен мой простой код:

void MyFunc(float input[10], float output[10])
{
#pragma HLS INTERFACE s_axilite port=input bundle=BUS_INPUT

const float temp[10]={
0.0f,0.1f,0.2f,0.3f,0.4f,0.5f,0.6f,0.7f,0.8f,0.9f
};


for(int i=0;i<10;i++)
{
output[i]=input[i]+temp[i];
}
}

После синтеза ниже показано использование ресурса:

Результат синтеза:

enter image description here

На этом рисунке я с удивлением обнаружил, что используются два блока BRAM_18K.Это нормально?и почему шина Axi lite может скрыть два BRAM_18K?

Я проверил сгенерированный код verilog и до сих пор не могу найти причину.Сгенерированный код verilog помещается в https://drive.google.com/file/d/1iP6JQGbv6pShGuCF62G21isRHkjJhn3I/view?usp=sharing

Спасибо.

1 Ответ

0 голосов
/ 19 февраля 2019

Ваше оборудование будет обрабатывать один блок данных, создавая второй блок данных.Оба блока должны где-то храниться, и это хранилище - это единицы оперативной памяти, как выводит компилятор.

...