[an error occurred while processing this directive]
|
Не знаю, можно ли что-то сделать с синплифи, а максплюс это делать умеет. Вот пример.
subdesign tst2 (
ina[3..0], inb[3..0], clk:input;
out:output;
)
begin
out = DFF( (ina[1..0]==inb[1..0]) &
CASCADE(ina[3..2]==inb[3..2]) , clk, vcc, vcc);
end;
И это совершенно честно скомпилировалось в две ячейки:
-- Node name is 'out' from file "tst2.tdf" line 6, column 3
-- Equation name is 'out', type is output
out = _LC2_B4;-- Node name is ':37' from file "tst2.tdf" line 6, column 9
-- Equation name is '_LC2_B4', type is buried
_LC2_B4 = DFFE( _EQ001C, GLOBAL( clk), VCC, VCC, VCC);
_EQ001C = _EQ001 & CASCADE( _EQ002C);
_EQ001 = ina0 & ina1 & inb0 & inb1
# !ina0 & ina1 & !inb0 & inb1
# ina0 & !ina1 & inb0 & !inb1
# !ina0 & !ina1 & !inb0 & !inb1;-- Node name is ':38' from file "tst2.tdf" line 7, column 14
-- Equation name is '_LC1_B4', type is buried
_LC1_B4 = LCELL( _EQ002C);
_EQ002C = _EQ002;
_EQ002 = ina2 & ina3 & inb2 & inb3
# !ina2 & ina3 & !inb2 & inb3
# ina2 & !ina3 & inb2 & !inb3
# !ina2 & !ina3 & !inb2 & !inb3;
Вот. Так что проверьте, разрешено ли максу эти CASCADE chain применять в Global logic synthesis. И если разрешено - выбрасывайте синплифи. Кстати - синплифи позволяет вставлять в исходных текст примитивы carry/cascade вручную. По крайней мере в верилоге. Так как они есть в библиотеке синтеза.
E-mail: info@telesys.ru