フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-8-26 0:48 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3088 |
XilinxのRTL ViewerはHDL記述の仕方でだいぶ見た目が変わる ふとゼロサプレスの特定の出力信号に1をセットしているのを14bitのマスク値の論理和演算ではなく直接ビットに1を代入するように以下の様に変えてみたところRTL Viewerの見た目はAlteraのとほとんど一緒になった。
function [13:0] digit; input [3:0] sel; begin case (sel) 4'b0000: digit = 14'b11111111111110; 4'b0001: digit = 14'b11111111111101; 4'b0010: digit = 14'b11111111111011; 4'b0011: digit = 14'b11111111110111; 4'b0100: digit = 14'b11111111101111; 4'b0101: digit = 14'b11111111011111; 4'b0110: digit = 14'b11111110111111; 4'b0111: digit = 14'b11111101111111; 4'b1000: digit = 14'b11111011111111; 4'b1001: digit = 14'b11110111111111; 4'b1010: digit = 14'b11101111111111; 4'b1011: digit = 14'b11011111111111; 4'b1100: digit = 14'b10111111111111; 4'b1101: digit = 14'b01111111111111; default: digit = 14'b11111111111111; endcase if (MONTH[4]==1'b0) digit[4] = 1'b1; if (DAY[5:4]==2'b00) digit[6] = 1'b1; if (HOUR[5:4]==2'b00) digit[8] = 1'b1; if (MINUTE[6:4]==3'b000) digit[10] = 1'b1; if (SECOND[6:4]==3'b000) digit[12] = 1'b1; end endfunction 以前は if (MONTH[4]==1'b0) digit = digit | 14'b00000000010000; とか書いていた。意味的には一緒であるがRTL viewerで見ると前は意図したのとは大分違っていた。今度はだいぶRTL Viewがすっきりこじんまりした。Technology mapはまったく変わらない。 Alteraの場合はHDLの記述が違っても意味的に同じであればRTL Viewerは変わらないのでHDLでの記述の仕方で惑わされることはない。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |