full_adder.h

来自「一个全加器的systemc代码」· C头文件 代码 · 共 37 行

H
37
字号
// full_adder.h

#include "half_adder.h"

SC_MODULE(full_adder){
	sc_in<bool>     a, b, carry_in;
	sc_out<bool>    sum, carry_out;

	sc_signal<bool> c1, s1, c2;

	void prc_or();
	
	half_adder *ha1_ptr, *ha2_ptr;

	SC_CTOR(full_adder){
		ha1_ptr = new half_adder("ha1");
		ha1_ptr -> a(a);
		ha1_ptr -> b(b);
		ha1_ptr -> sum(s1);
		ha1_ptr -> carry(c1);

		ha2_ptr = new half_adder("ha2");
		ha2_ptr -> a(s1);
		ha2_ptr -> b(carry_in);
		ha2_ptr -> sum(sum);
		ha2_ptr -> carry(c1);

		SC_METHOD(prc_or);
		sensitive << c1 << c2;
	}

	// A destructor
	~ full_adder(){
		delete ha1_ptr;
		delete ha2_ptr;
	}
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?