ロジックICでPWMしてみた(その2)

 みなさんお元気ですか?おいらは夏の暑さに負けて夏バテ気味です*1。さて、前回の続きで、今回は同期設計で遊んでみる。

同期設計

 前回と同様の回路を同期設計ぽく考えるとこんな感じになる*2。上に前回の、下に今回の。大きな違いはというと、コンパレータの出力が正しい所以外でじたばたしたときに、上のはアウトだけど下のは次のクロックまでに落ち着いてくれさえすればOKって事*3。あとは上はカウンタをクリアするのに細いパルスを使うけど下は使わなくて済むとか。

f:id:TEFSOM:20200904224627p:plain

Fig. 1. 非同期と同期の比較

 ところで図1を見るとしれっとビット数が半分になってる。一般的に同じ回路をつくるなら非同期の方が無駄がないと言われている*4けどただダウングレードしただけじゃつまらないのでもうちょっと同期設計なりに考えてみる。

f:id:TEFSOM:20200905003956p:plain

Fig. 2. 4bitPWM回路

 こんな風に比較値用と周期用のレジスタをおくと、マイコンの中に入っていそうなまともっぽい回路になる*5。動画と回路図*6を置いておく。

f:id:TEFSOM:20200906114243p:plain

Fig. 3. 4bitPWM回路
感想
  • こういうこじんまりした回路を考えるのは楽しい
  • こういう最低限の落書きは残しておくの大事*7
  • こういうので小さいFPGAとかで遊んでみたくなった*8

以上!

*1:今年暑くない?気のせい?

*2:そもそも同期設計ってどういう定義?って聞かれると困るんだけどこの記事では全て共通クロックのFFと組合せ回路だけでできてるって事にしておく

*3:例えるなら「ちょっとでもふざけてるの見つかると怒られる会社」と「毎回のミーティングにちゃんと結果持ってけばあとは何しててもいい会社」みたいな?後者の方が気楽でいいよね

*4:あとは74シリーズ自体が非同期設計ぽいのが多いのもある

*5:実は最初に図2を考えてから間引いて図1を作ったんだけど

*6:個人的には図3の回路図がロジックICだけできれいなので同期設計の方が好き

*7:最近回路とかプログラムとか全体を脳内でオンメモリにできなくなってきていて悲しいし更にちょっと間が空くと脳内メモリどころか脳内HDDからも揮発してしまうのでちまちま設計するには自分用の設計資料的なものをちゃんと残しておかないとなと思う

*8:ロジックICしばりもそれはそれで楽しいけどその内FPGAに入れてみたとかやりたい