#pcomment(reply) (2015/1/20:akita) 論理回路を、ささっとつくるのに、インバータとかNANDゲートとかフリップフロップが部品としてあると、楽ちんですよね。 ついでに、大きさがそろっていて、並べてぴたっとつながると、なお楽ちんです。 というわけで、こういう部品としての論理ゲート(スタンダードセル:スタセル)をつくってみました。 まず、特性を調整しておきます。 pMOSとnMOSのサイズで、インバータの特性が決まります。 WGexの使い方、のところでつくったインバータの入出力特性(DC特性)をシミュレーションしてみると、こんな感じです。 #ref(./inv_dc1.png,20%) 出力が0Vにさがるのが、中央よりちょっと左側にきています。つまりpMOSがちょっと弱い、ということです。 というわけで、pMOSのサイズ(ゲート幅)を変えながらシミュレーションをして、ここがほぼ中央に来るようにしてみます。 #ref(./inv_dc2.png,20%) これでだいたい中央に来ました。というわけでこのnMOS/pMOSのサイズで、スタンダードセルをつくってみました。 (シミュレーションに使っているMOSトランジスタのモデルがどの程度正確か,という話はあるのですが、まあとりあえず、ということで) ただし汎用性をもたせるために、ML2は、スタセルの中では使わないようにします。 こちらにまとめておいておきますので、ご参照ください。 一通りシミュレーションはしているつもりですが、もしバグがあったら、お知らせください。 %%https://github.com/akita11/mklsi/tree/master/StdCell%% %% https://github.com/akita11/mklsi/tree/master/StdCell %% (2016/3/21:akita) ver2ルール(北九州&Phenitec共用)にあわせて、スタンダードセルのレイアウトを修正しました。今後はこちらをお使いください。→https://github.com/MakeLSI/IP/tree/master/StdCell