One: cost saving
Phenomenon 1: The resistance value of these pull-up/プルダウン抵抗はあまり重要ではない, したがって、整数.
市場における5 Kの抵抗値はありません, 最も近い4.99K (accuracy 1%), 続いて5.1K (accuracy 5%), そして、そのコストは4のそれより4倍、2倍高い.20 %の精度で7 K. . 20 %の精密抵抗器の抵抗値は1である, 1.5, 2.2, 3.3, 4.7, 6.8 (including integer multiples of 10); similarly, 20 %の精密なコンデンサは、上記の値だけを持ちます. 他の型を選択した場合、値は高精度, そして、コストは数倍, しかし、それはどんな利益ももたらさないでしょう.
現象2:パネル上のインジケータライトが選択する色? ブルーは特別だと思う, so choose it
Comment: Other red, グリーン, イエロー, オレンジ色, regardless of size (under 5MM), 何十年も成熟してきた, そして、価格は一般的に, 一方、青は過去3、4年で発明されたものです. 技術成熟と供給安定性はともに貧しい, しかし、価格は. 現在, 青色のインジケータライトは、他の色に置き換えることができない場合にのみ使用される, such as displaying video signals
Wait.
現象3:論理のこの点も、74 xxゲート回路で造られることができます, しかし、それはあまりにも土です, したがって、CPLD, which looks much more high-end
Comment: 74XX gate circuit is only a few cents, そしてCPLDは少なくとも数十ドルです, (GAL/PALはわずか数ドルです, but the company does not recommend it). n倍のコストの増加は言うまでもない, また、生産とドキュメントに数回の作業を追加します.
現象4:我々のシステム要件は、とても高いです, を含む, CPU, FPGA and all chips must choose the fastest
Comment: Not every part of a high-speed system works at high speed, 毎回、デバイスの速度が1つのレベルで増加する, 価格はほぼダブルス, そしてそれはまた、完全性の問題を信号に大きな負の効果をもたらす.
現象5 PCB設計 このボードの要件は高くない, ちょっと細いワイヤーを使って、自動的にそれを手配してください.
自動配線は必然的により大きくなる PCBボード 面積, と同時に、それはマニュアルの配線よりも多くの倍のバイアを生成します. 製品の大きなバッチで, その要因 PCBメーカー 価格を下げるために、線幅とオーバーパスを考慮してください, ビジネス要因に加えて. 穴の数, それぞれは、PCBの歩留りおよびドリルビットの消費数に影響を及ぼす, 供給元のコストを節約する, そして、価格縮小の理由を見つけます.
現象6:プログラムが安定している間, コードが長い, and lower efficiency is not the key
Comment: CPU speed and memory space are all bought with money. あなたがコードを書くとき、プログラムの効率を改善するために2、3日を過ごすならば, それから、CPU周波数を減らして、記憶容量を減らすことからコスト削減は確かに価値があります. CPD/FPGA設計は同様である.
Two: Low-power design
Phenomenon 1: Our system is powered by 220V, だから我々は消費電力を気にする必要があります.
低電力設計は省電力のためだけではない, より多くの利点は、それが電源モジュールおよび冷却システムのコストを減らすということである, そして、電流の減少のために電磁放射線および熱雑音の干渉を減らす. 機器の温度が下がるにつれて, the life of the device is correspondingly extended (the operating temperature of a semiconductor device increases by 10 degrees, and the life is shortened by half)
Phenomenon 2: These bus signals are all pulled by resistors, so I feel more relieved
Comment: There are many reasons why signals need to be pulled up and down, しかし、それらのすべてがプルされる必要はありません. プルアップ及びプルダウン抵抗器は、単純な入力信号をプルする, そして、電流は数十マイクロアンペア未満である, しかし、駆動信号がプルされると, 電流はミリアンペアレベルに達する. 現在のシステムはしばしば32ビットのアドレスデータを持っています, そして、244ならば/245分離バスと他の信号がプルアップされます, a few watts of power consumption will be consumed on these resistors (don't use the concept of 80 cents per kilowatt-hour to treat these few watts of power consumption).
現象3:これらの未使用のIに対処する方法/CPUとFPGAのポート? レットイットビー, I'll talk about it later
Comment: If the unused I/oポートがフローティングされている, 外の世界から少し干渉して繰り返し発振する入力信号になるかもしれない, そして、MOSデバイスの消費電力は、基本的に、ゲート回路50のフリップ数に依存する. 引き上げられるなら, 各ピンには微小電流が流れる, so the best way is to set it as output (of course, no other signals with driving can be connected to the outside)
Phenomenon 4: There are so many doors left in this FPGA to use up, so you can play to your heartâs content
Comment: The power consumption of FGPA is directly proportional to the number of flip-flops used and the number of flips. したがって, 異なる回路および異なる時間における同じタイプのFPGAの消費電力は100倍異なることがある. 高速フリップ用フリップフロップ数の最小化はFPGA電力消費を低減するための基本的方法である.
現象5:これらの小さなチップの消費電力は非常に低い, so there is no need to consider
Comment: It is difficult to determine the power consumption of the internal chip それで not too complicated. これは、主にピン上の電流によって決定されます. ABT 16244は負荷なしで1 mA未満を消費する, しかし、そのインジケータは、各ピンです. It can drive a load of 60 mA (such as matching a resistance of tens of ohms), それで, the maximum power consumption of a full load can reach 60*16=960mA. もちろん, 電源電流のみが大きい, そして、熱が負荷に落ちる.
現象6 :メモリには多くの制御信号がある. 私のボードはOEと我々は信号を使用する必要があります. チップセレクトは接地されるべきである, データが読み取り操作中にはるかに速くなるように.
Comment: The power consumption of most memories when the chip selection is valid (regardless of OE and WE) will be more than 100 times larger than when the chip selection is invalid. したがって, CSはチップをできるだけ制御するために使われるべきです, 他の要件が満たされる限り. チップセレクトパルスの幅を短くすることが可能である.
現象7 :これらの信号はなぜオーバーシュートするのか? マッチが良い限り, it can be eliminated
Comment: Except for a few specific signals (such as 100BASE-T, CML), オーバーシュート. あまり大きくない限り, それは必ずしも一致する必要はない. マッチしても, 必ずしもベストとはかぎらない. 例えば, TTLの出力インピーダンスは50オーム未満である, そして、若干の20さえオーム. そのような大きな整合抵抗が使用されるならば, 電流は非常に大きい, 電力消費は容認できない, そして、信号振幅は、使用されるには小さすぎる. その他, ハイレベルを出力し、低レベルを出力するときの一般信号の出力インピーダンスは、同じではない, そして、完全な試合を成し遂げる方法が、ありません. したがって, TTLのマッチング, LVDS, オーバーシュートが達成される限り、422および他のシグナルは許容できる.
現象8:消費電力を減らすことは、ハードウェア人員の問題です, and has nothing to do with software
Comment: The hardware is just a stage, しかし、ソフトウェアはパフォーマーです. バス上のほとんどすべてのチップとあらゆる信号のフリップのアクセスは、ソフトウェアによってほとんど制御される. If the software can reduce the number of accesses to the external memory (using more register variables, 内部キャッシュの更なる使用, etc.), timely response to interrupts (interrupts are often low-level active with pull-up resistors), そして、特定のボードのための他の特定の処置は、電力消費を減らすことに大きな貢献をするでしょう.
Three: system efficiency
Phenomenon 1: This CPU with a main frequency of 100M can only handle 70%, そして、それが200 mの周波数に変わるならば、それはすばらしいです.
システムの処理能力は様々な要因を含む. 通信事業で, ボトルネックは一般に記憶にある. CPUがどんなに速くても, 外部アクセスが高速であることは無駄である.
現象2 :キャッシュが大きいCPU, it should be faster
Comment: The increase of CACHE does not necessarily lead to the improvement of system performance. 場合によっては, キャッシュを閉じるよりキャッシュを終了する. キャッシュに移動するデータを何度も再利用しなければならないのは、システム効率を改善するためである. したがって, 通信システム内, 一般に命令キャッシュのみがオープンされる. データキャッシュが開いても, ストレージスペースの一部に限られます, スタック部分など. 同時に, プログラム設計はキャッシュの容量とブロックサイズを考慮する必要もある, キーコードループ本体とジャンプ範囲の長さを含む. ループがキャッシュより少し大きいならば, ループを繰り返します, 惨めだ.
現象3 :多くのタスクは割り込みや問い合わせを使用しますか? Stop it faster
Comment: The real-time interruption is strong, しかし必ずしも速い. あまりにも多くの中断タスク, これは出ない, そして次から次へ, そして、システムはしばらくクラッシュします. タスクの数が大きいが、非常に頻繁であるならば, CPUのエネルギーの多くは、INのオーバーヘッドに、そして、割り込みから費やされます, そして、システム効率は非常に低い. クエリモードに切り替える場合, 効率を大幅に改善することができます, しかし、クエリは時にはリアルタイムの要件を満たすことはできません, したがって、最良の方法は割り込みで問い合わせをすることです, それで, 割り込み後, すべての累積タスクが処理され.
現象4 :メモリインタフェースのタイミングは工場のデフォルト設定です, no need to modify
Comment: The default values set by the BSP for the memory interface are all set according to the most conservative parameters. 実際のアプリケーションでは, バスの動作周波数と待機期間を適切な調整のためのパラメータと組み合わせるべきである. 時々周波数を減らすことは、効率を改善することができます. 例えば, RAMアクセスサイクルが70 nsでバス周波数が40 mであるとき, 3サイクルのアクセスタイムを設定する, that is, 75 nsバス周波数が50 mの場合, これは4サイクルに設定する必要があります, 実際のアクセス時間は.
現象5 : CPUが扱えない場合, つの分散処理, and the processing capacity can be doubled
Comment: For moving bricks, 人は1倍の効率がある絵画に, もう一人の人は助けることしかできない. どのように多くのCPUを使用するだけのビジネスについての知識を持って後に決定することができます. つのCPU間の調整コストを減らすようにしてください, and make 1+1 as close to 2 as possible, そして、1未満であること.
現象6 :このCPUはDMAモジュールを持っています, it must be fast to move data
Comment: The real DMA is to start both devices at the same time after the hardware preempts the bus, そして、1サイクルでこことそこで読んでください. しかし, CPUに埋め込まれた多くのDMASはシミュレーションです. 各DMAを起動する前に, a lot of preparatory work (setting the starting address and length, etc.) must be done. 転送中, チップの一時的な記憶は、しばしば最初に読まれる, それから、. 即ち, それは1回データを移動する2クロックサイクルかかる, which is faster than the software to move (no instruction fetching, no extra work such as loop jumps), しかし、あなたが一度に数バイトだけ動くなら, まだ準備作業をたくさん行う必要があります. 一般に, また、関数呼び出し, 効率的ではない. したがって, このDMAは大きなデータブロックにのみ適用可能である.