Assigning a literal to target '%s' bit or subrange results in slower compiled simulation code; 'or' ('and') variable with a mask '1' ('0') value(s) in the bit position(s) that you need to set (clear)

Instead of:
   r_b[15:8]<=8'h00;
use:
   r_b <= r_b & 24'hff00ff;


Assigning target '%s' subrange results in slower simulation code. Use concatenation instead.

Instead of:
   c_x[23:16] = r_a;
   c_x[15:8] = r_b;
   c_x[7:0] = r_c;
use:
   c_x = {r_a, r_b, r_c};

Instead of:
   c_ecc_out_1= cin[29] ^ cin[28] ^ cin[27] ^ cin[26] ^ cin[25] ^ cin[24] ^ cin[23] ^ cin[22] ^ cin[21] ^
                       cin[20] ^ cin[19] ^ cin[18] ^ cin[17] ^ cin[16] ^ cin[15] ^ cin[14] ^ cin[13] ^ cin[12] ^
                       cin[11] ^ cin[7] ^ cin[4] ^ cin[1] ^ cin[0];
use:
   c_ecc_out_l = ^ (c_in & 40'h003ffff893);


Simulation code for shift by constant is not as fast as simulation code for concatenation. Use concatenation instead.

Instead of:
   c_v = c_s << 8; // c_v, c_s are 48 bits wide
use
   c_v = { c_s [39:0], 8'h00 };


출처 : Principles of RTL design_2d

'설계' 카테고리의 다른 글

IEEE 802.11 VHT  (0) 2009/03/24
JOB의 계층구조?  (0) 2009/03/13
시뮬레이션 속도를 향상시키는 Verilog 코딩기법  (0) 2009/02/11
드디어 칩 테스트 끝...원인은?...  (0) 2008/12/04
결국 돌덩이네...  (0) 2008/11/18
드디어 칩이 나왔다. -_-;  (0) 2008/11/12
Posted by 영고니짱
이전버튼 1 ... 17 18 19 20 21 22 23 24 25 ... 193 이전버튼