Могу ли я запрограммировать LUT5_D в FPGA virtex-5 с 2-битными 2-в-1 функциями мультиплексирования? - PullRequest
1 голос
/ 13 сентября 2011

Я пытаюсь вставить 2-битный 2-в-1 мультиплексор в одну LUT.Кажется, что LUT5_D имеет 5 входов и 2 выхода.Могу ли я запрограммировать LUT как то, что я хочу?

Я использовал LUT3, LUT4 раньше.Из руководства по библиотекам virtex-5 кажется, что для создания экземпляра LUT5_D мне нужно запрограммировать правильное значение init, но есть только одно значение init для программирования, поэтому фактически будет использоваться только один из выходных данных?Или оба выхода будут давать одно и то же значение в любое время?

LUT5_D #(
.INIT(32'h55550f0f),
) LUT5_D_inst
(.O(O), // General LUT output (1-bit)
.LO(LO), // Local LUT output (1-bit)
.I0(I0), // LUT input (1-bit)
.I1(I1), // LUT input (1-bit)
.I2(I2), // LUT input (1-bit)
.I3(I3), // LUT input (1-bit)
.I4(SEL));

Ответы [ 2 ]

1 голос
/ 24 октября 2011

Не программируйте значения INIT.LUT_MAP намного проще и более удобен в обслуживании:

(* LUT_MAP="yes" *)
module mux2(sel, a, b, o);
    input  sel;
    input  a;
    input  b;
    output o;

    assign o = (~sel&a) | (sel & b);
endmodule

При общем входном сигнале sel вышеприведенный mux2 может быть упакован с 8 в (четыре 6-LUT) среза путем разделения каждого из четырех 6-LUT на2 5-LUT.

1 голос
/ 07 октября 2011

LUT5_D не собирается делать то, что вы хотите: два вывода идентичны (таблица в руководстве по библиотекам показывает это).

2 варианта вывода: LUT6_2:

LUT6_2

Для вашего приложения у вас есть два входа (A и B) каждый с двумя битами (0,1) и выход (Y) также с двумя битами.

  • Используйте I0 в качестве входного сигнала выбора
  • Провод I5, чтобы всегда выбирать верхний LUT5 (логика 1 IIRC).
  • Подключите I4:1 как A0, B0, A1, B1.
  • O6 - это Y0, O5 - Y1

Я оставляю заинтересованным читателям в качестве упражнения придумать значения INIT, которые:

  • вызывает верхний LUT5 для MUX между I4 и I3 на основе I0
  • заставляет нижний LUT5 переключаться на MUX между I2 и I1 на основании I0
...