Либо я не очень понимаю, что есть поведенческое описание, либо мой вопрос как раз к нему и относится. Приведу пример:
Код
always @(posedge clk) begin
if (A)
Logic1;
else if (B)
Logic2;
else if (C)
if (D)
Logic3;
else
Logic4;
else if (E)
Logic5;
else
Logic 6;
end
Тогда мы имеем такую картинку (направо true, налево false, цифры в скобках понадобятся дальше):
Код
A
/ \ (00)
B L1;
/ \(01)
C L2;
(11)/ \(10)
/ D
E / \
/ \ L4 L3
L6 L5
т.е. имеем проверку 4 условий.
Альтера предлагает сделать так:
Код
wire x = (!A) & (!B);
wire y = (!A) & (B | !C);
case {x,y}
00: L1;
01: L2;
10:
if (D) L3; else L4;
11:
if (E) L5; else L6;
endcase
и утверждает, что в этом случае будет существенная экономия ресурсов. Вот мне и интересно - кодирует ли кто-нить вот так x и y? Или оно того не стоит/синтезатор справляется?
PS: Перечитал мануал. Там в начале раздела есть ссылка, что квартус и сам справляется с задачей, но для лучшего понимания... и далее идет рассказ о перекодировании условий.

Но все равно, зато чему-то новому научился.