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

Здравствуйте. было у кого так. есть проект на Veriloge, в MAX PLUS2.

при его компиляции и прогоне в симуляторе, когда выбираешь кристалл. он не создает некоторые регистры. их просто нет и все .симулятор показывает в этих регистрах "X"..поиск этих регистров не чего не дает.регистры эти используются. причем там так Tr[7:0] объявляется, а создается только Tr[0].

а при функциональной компиляции они создаются.

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


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

Здравствуйте. было у кого так. есть проект на Veriloge, в MAX PLUS2.

при его компиляции и прогоне в симуляторе, когда выбираешь кристалл. он не создает некоторые регистры. их просто нет и все .симулятор показывает в этих регистрах "X"..поиск этих регистров не чего не дает.регистры эти используются. причем там так Tr[7:0] объявляется, а создается только Tr[0].

а при функциональной компиляции они создаются.

 

Проверь то что ты написал на Veriloge, у меня такое бывает когда я в верхнем файле иерархии забываю написать диапазон Tr[7:0], в место это пишу всегда Tr, компилятор считает что так как в верхней иерархии эти регистры не нужны, то и тогда они не где не нужны!

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


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

там правильно написано reg [7:0] TR;

 

 

Если программа не секретная. то выкладывай посмотрим!!=))

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


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

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

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


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

квартус не поддерживает max9000. у меня.

 

Посмотрите по ресурсам. Если нет этих разрядов регистра, значит они и не нужны при этом описании.

(выделите это место как отдельно функциональный модуль и посмотрите результат)

В квартусе не обязательно иметь семейство 9000. используйте за основу циклон 1 и посмотрите в RTL просмотрщике так и по ресурсам реально используемым (Вас же наличие разрядов регистра интересует).

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


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

приведу отрывок, может поможет . регистры TR[0] и tusk[0] только появляются.остальных нет. они все используются в этом модуле.

 

 module ksbk ( GCLK,_SRESET,_LERR,GOE,
              _GCLR,_SSEL,_SAS,_SBG,SPA,SPA18,ZM,FM,
             BV_in,BVP_in,ERRA, NVU, _DRQ3, PKK, BV,
              BVP,_SBR,ABP,AB,_CS,_PWR,_PRD,OEPSD, _U0SH,KM,
             RBM,PBBV,RES,PKO,ABOZU,_PRSH,PRM,_SBRM,
            DB,DBP,SD,SDP,SRD,SSIZ, _SACK);
. . .
reg [7:0] TR;
reg [10:0]tusk;
. . .
//TR0
always @ (posedge CLK or negedge CLR )
begin
if (CLR == 0)
TR[0] <= 1'b0;
else if (ZMR & AB[2:0] == 0) 
    TR[0] <= DB[0];                //=0
else if (!ZM & ERRA)
    TR[0] <=1'b1;
else
    TR[0] <= TR[0];    
end
//TR1
always @( posedge CLK or negedge CLR )
begin
if (CLR ==0)
TR[1] <= 1'b0;
else if (ZMR & AB[2:0] == 1)
TR[1] <= DB[1];
else
TR[1] <= TR[1];
end
//TR2
always @(posedge CLK )
begin
if ( _GCLR ==0 )
   TR[2] <= 1'b1;
else if (ZMR & AB[2:0] == 2)
   TR[2] <= DB[2];  
else if (OSH) 
     TR[2] <= 1'b1;
else
    TR[2] <= TR[2];
end
//TR3
always @(posedge CLK )
begin
  if( _GCLR ==0)
   TR[3] = 1'b1;
else if ( ZMR & AB[2:0])
   TR[3] = DB[3];
else
  TR[3] = TR[3];
end
//TR4
always @( posedge CLK or negedge CLR)
begin
if(CLR ==0)
TR[4] <=1'b0;
else if (ZMR & AB[2:0] == 4)
  TR[4] <= DB[4];
else if (ZM)
   TR[4] <=1'b1;
else
   TR[4] <= TR[4];
end
//TR5
always @(posedge CLK or negedge CLR)
begin
if(CLR ==0)
TR[5] <=1'b0;
else if (ZMR & AB[2:0] == 5)
  TR[5] <= DB[5];      // -- маска на прерывание системной шины
else TR[5] <= TR[5];
end
//TR6
always @(posedge CLK or negedge CLR)
begin
if (CLR ==0)
TR[6] <= 1'b0;
else if( ZMR & AB[2:0] == 6)           
  TR[6] <= DB[6];
else
  TR[6] <= TR[6];
end
//TR7
always @(posedge CLK or negedge CLR)
begin    
if(CLR ==0)
TR[7] <= 1'b0;
else if (ZMR & AB[2:0] == 2)
TR[7] <= DB[3];
end
. . .
always @(posedge CLK)
begin
   tusk[0] <= mou & fr & _esp1  ^ (tusk[0] & !wu & !fr | tusk[0] & !wu & _esp1 | wu & DB[0]);
end

always @(posedge CLK)
begin    
  tusk[1] <= mou & tusk[0] & _esp1 ^ (tusk[1] & !wu  & _esp1 | wu & DB[1]);
end

always @(posedge CLK)
begin
  tusk[2] <= mou & tusk[0] & tusk[1] & _esp1 & _esp2 ^(tusk[2] & !wu & _esp1 | wu & DB[2]);
end

always @(posedge CLK)
begin
  tusk[3] <= mou & tusk[0] & tusk[1] & tusk[2] & _esp1 & _esp2 ^ (tusk[3] & !wu & _esp1 | wu & DB[3]);
end

always @(posedge CLK)
begin         
  tusk[4] <= mou & tusk[0] & tusk[1] & tusk[2] & tusk[3] & _esp1 & _esp2 ^ (tusk[4] & !wu & _esp1 | wu & DB[4]);
end

always @(posedge CLK)
begin  
  tusk[5] <=  mou & tusk[0] & tusk[1] & tusk[2] & tusk[3] & tusk[4] & _esp1 & _esp2 ^ (tusk[5] & !wu & _esp1 | wu & DB[5]);
end

always @(posedge CLK)
begin    
  tusk[6] <= (DB[6] & wu | unb) ^(tusk[6] & !wu);
end

always @(posedge CLK)
begin        
  tusk[7] <= DB[7] & wu | tusk[7] & !wu   | kk & tusk[9] & kb & mou 
                   | !kk & kmr0 & kmr1 & kmr2 & T5 & !rq0 
                   | kk & kmr0 & kmr1 & kmr2 & T5 & rq0;
end

always @(posedge CLK)
begin
  tusk[8] <= ( DB[8] & wu    | tusk[8] & !wu | PKO1);
  end

always @(posedge CLK)
begin
  tusk[9] <= DB[9] & wu | tusk[9] & !wu | kmr0 & kmr1 & kmr2 &  T5;
end

always @(posedge CLK)
begin
  tusk[10] <= (DB[10] & wu | tusk[10] & !wu & !T7);
end
. . .
endmodule

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


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

В приведенной части программы ты используешь регистр [7:0] TR, в нему тебя какие то значения, эти значения ты куда то же выводишь!?

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


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

например так..они еще используются там..

assign  robp30 = TR[0] ^ TR[1] ^ TR[2] ^ TR[3];
assign  robp31 = TR[4] ^ TR[5] ^ TR[6];

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


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

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

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

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

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

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

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

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

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

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