とある原子核実験のブログ
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
原子核、素粒子実験で用いられているNIMモジュールのveto回路には実は落とし穴が存在する。
10ns(モジュールによっては20ns)以内の時間前にアサートされたvetoは適用されない。
つまりぎりぎりのタイミングでvetoをかけようとしてもうまくかからない。
これに気づいたのが1週間前。
TDCのデータを100,000 eventとるテストをしていると、1個か2個ミスデータが出る。
オシロで気長に見ていると、タイミング的にはばっちりvetoがかかっているのにoutputが出ている場合があった。
解決法として2段階でvetoをかける手がある。
1.vetoをかけたいシグナルを2つにわける。
2.ひとつをGateGeneratorで幅を持たせて、もうひとつをdelayさせる。
3.その2つをコインシデンスさせる。
これはタイミングを数十ps以内で合わせる際によく使われるテクニック。
この際、各々にvetoをかけると、かなりぎりぎりのタイミングでもうまくかかるようになる。
問題は回路がかなり複雑になってしまう点。何やってるか自分でもわからなくなる。
もし必要な時があればお試しあれ。
10ns(モジュールによっては20ns)以内の時間前にアサートされたvetoは適用されない。
つまりぎりぎりのタイミングでvetoをかけようとしてもうまくかからない。
これに気づいたのが1週間前。
TDCのデータを100,000 eventとるテストをしていると、1個か2個ミスデータが出る。
オシロで気長に見ていると、タイミング的にはばっちりvetoがかかっているのにoutputが出ている場合があった。
解決法として2段階でvetoをかける手がある。
1.vetoをかけたいシグナルを2つにわける。
2.ひとつをGateGeneratorで幅を持たせて、もうひとつをdelayさせる。
3.その2つをコインシデンスさせる。
これはタイミングを数十ps以内で合わせる際によく使われるテクニック。
この際、各々にvetoをかけると、かなりぎりぎりのタイミングでもうまくかかるようになる。
問題は回路がかなり複雑になってしまう点。何やってるか自分でもわからなくなる。
もし必要な時があればお試しあれ。
PR
Comment