書き込み前にVHDLの回路合成の詳細を確認したところ、やはり無理なピン配置を行っていたようで、信号の精度が保証されていないことが判明した。
このピン配列は、プリント基板上の取り回しを優先したものだったが、Teensy側でCH毎に独立させていたデジタルオーディオ信号の扱いを、データライン共通でラッチクロックのみを独立させる仕様に変更した結果、再度基盤上の配線パターンを合理化する必要が生じている。
この時点で、独自のピン配置に拘る必然は無くなったので、今一度論理合成をやり直すことにした。その結果はこうなって、、、
PAD Specification File
***************************
PART TYPE: LCMXO2-256HC
Performance Grade: 4
PACKAGE: QFN32
Package Status: Advanced Version 1.38
Pinout by Pin Number:
+----------+-----------------------+------------+--------------+------+---------------+-----------+-----------+
| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | PG Enable | BC Enable |
+----------+-----------------------+------------+--------------+------+---------------+-----------+-----------+
| 1/0 | Reserved: sysCONFIG | | | PT6C | TDO | | |
| 4/3 | MCK | | LVCMOS25_IN | PL5C | PCLKT3_0 | | |
| 5/3 | rst | | LVCMOS25_IN | PL5D | PCLKC3_0 | | |
| 8/2 | dataOut1 | | LVCMOS25_OUT | PB2A | CSSPIN | | |
| 9/2 | dataIn4 | | LVCMOS25_IN | PB2C | MCLK/CCLK | | |
| 10/2 | ckW3 | | LVCMOS25_IN | PB2D | SO/SPISO | | |
| 11/2 | LATCH3 | | LVCMOS25_IN | PB4A | PCLKT2_0 | | |
| 12/2 | ckW4 | | LVCMOS25_IN | PB4B | PCLKC2_0 | | |
| 13/2 | WCK | | LVCMOS25_OUT | PB4C | PCLKT2_1 | | |
| 14/2 | LATCH1 | | LVCMOS25_IN | PB4D | PCLKC2_1 | | |
| 16/2 | dataIn2 | | LVCMOS25_IN | PB9A | SN | | |
| 17/2 | dataIn1 | | LVCMOS25_IN | PB9B | SI/SISPI | | |
| 20/1 | unused, PULL:DOWN | | | PR5B | PCLKC1_0 | | |
| 21/1 | dataOut2 | | LVCMOS25_OUT | PR5A | PCLKT1_0 | | |
| 23/0 | LATCH2 | | LVCMOS25_IN | PT9D | DONE | | |
| 25/0 | ckW1 | | LVCMOS25_IN | PT9B | PROGRAMN | | |
| 26/0 | dataIn3 | | LVCMOS25_IN | PT9A | JTAGENB | | |
| 27/0 | ckW2 | | LVCMOS25_IN | PT8D | SDA/PCLKC0_0 | | |
| 28/0 | LATCH4 | | LVCMOS25_IN | PT8C | SCL/PCLKT0_0 | | |
| 29/0 | Reserved: sysCONFIG | | | PT7B | TMS | | |
| 30/0 | Reserved: sysCONFIG | | | PT7A | TCK | | |
| 32/0 | Reserved: sysCONFIG | | | PT6D | TDI | | |
+----------+-----------------------+------------+--------------+------+---------------+-----------+-----------+
sysCONFIG Pins:
+----------+--------------------+--------------------+----------+-------------+-------------------+
| Pad Name | sysCONFIG Pin Name | sysCONFIG Settings | Pin/Bank | Buffer Type | Config Pull Mode |
+----------+--------------------+--------------------+----------+-------------+-------------------+
| PT7B | TMS | JTAG_PORT=ENABLE | 29/0 | | PULLUP |
| PT7A | TCK/TEST_CLK | JTAG_PORT=ENABLE | 30/0 | | NO pull up/down |
| PT6D | TDI/MD7 | JTAG_PORT=ENABLE | 32/0 | | PULLUP |
| PT6C | TDO | JTAG_PORT=ENABLE | 1/0 | | PULLUP |
+----------+--------------------+--------------------+----------+-------------+-------------------+
IDEが自動的に配置したピン配列はデータを扱う上で合理的なものだったので、プリント配線の方を新しい仕様に沿う形で基盤を再設計することになる。

論理合成の結果、納得のいく合理的なものが出力されてきたので、下手にこれをいじらずに基盤の設計をピン配置に合わせることにした。 チップ側のキャパシティーは4chまで扱えるので、光出力を視野に入れた構成を考えることにするが、基本構成を2chとして本体側はアナログ2chの出力を固持し、残りの信号処理は欲張らずにピギーバックタイプの拡張方法を考えた方が良いだろう。
posted by Yasuski at 19:36|
FPGA