![]() |
![]() |
TOP > SystemC > シフトレジスタ |
![]() |
![]() |
シフトレジスタ
クロックの立ち上がりで、1ビットの入力を最下位ビットに付加する。クロックのエッジ毎に保持しているビットを1ビットずつ左シフトする。ちなみに、右シフト版はCPUの乗算で使用される。
シフトレジスタの例
class SHIFT_REG : public sc_module { public: sc_in_clk C; //CLK sc_in<bool> R; //Reset sc_in<bool> D; //Set sc_out<sc_uint<4> > Q; //Output SC_HAS_PROCESS(SHIFT_REG); SHIFT_REG(sc_module_name name) : sc_module(name) { SC_THREAD(main); sensitive >> C.pos(); } void main(void) { while (1) { if (R.read() == HIGH) Q.write(0x0); //Reset else Q = (Q.read().range(2, 0), D.read()); wait(); } } }; |
![]() |
![]() |
Copyright 2007 ためになるホームページ All Rights Reserved. |