Пример #1
0
mem8 ()
{
	memreg ^= MREV;
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #2
0
mem5 ()
{
	memreg ^= MCMD;
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #3
0
mem3 ()
{
	addr = addr==&addr1 ? &addr2 : &addr1;
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #4
0
mem6 ()
{
	register r;

	switch (memreg & (MBIN)) {
	default:	r = MBIN;	break;
	case MBIN:	r = 0;		break;
	}
	memreg = (memreg & ~(MBIN)) | r;
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #5
0
mem2 ()
{
	register char *p;
	char a [40+1];

	addr = &addr2;
	sprintf (a, "%lx", *addr);
	p = getstring (6, a, " Адрес ", "Введите шестнадцатеричный адрес");
	if (p)
		sscanf (p, "%lx", addr);
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #6
0
mem7 ()
{
	register r;

	switch (memreg & (MMADL|MRACH|MTYAP)) {
	default:	r = MMADL;	break;
	case MMADL:	r = MRACH;	break;
	case MRACH:	r = MTYAP;	break;
	case MTYAP:	r = 0;		break;
	}
	memreg = (memreg & ~(MMADL|MRACH|MTYAP)) | r;
	curwin = 0;
	prmenu ();
	mem0 ();
	oldwin = 0;
}
Пример #7
0
int main() {

	scv_random::set_global_seed(time(NULL));  // Random generator seeding

	/** Constants **/

	sc_time cycle_time = sc_time(SYS_CLOCK, SYS_CLOCK_UNIT); // Corresponds to a frequency of 100 MHz

	/** Signals **/

	sc_clock _clk("_clk", cycle_time);        // Clock instance
	sc_signal<bool> _rst_n, _r_nw;            // Bool signals for reset and read/write
	sc_signal< a_word_t > _addr;              // Address bus
	sc_signal< d_word_t > _datain, _dataout;  // Data buses

	/** Constraint module instance **/

	mem_constr_module mem_cm0("mem_cm0", N_TEST_RUN); // Create a new constraint module

	/** Memory instance **/

	memory mem0("mem0");                      // Create a new memory module

	/** Port binding **/

	mem0.CLK(_clk);
	mem0.RST_N(_rst_n);
	mem0.R_NW(_r_nw);
	mem0.ADDR(_addr);
	mem0.DATAIN(_datain);
	mem0.DATAOUT(_dataout);
	
	mem_cm0.CLK(_clk);
	mem_cm0.RST_N(_rst_n);
	mem_cm0.R_NW(_r_nw);
	mem_cm0.ADDR(_addr);
	mem_cm0.DATAIN(_dataout);
	mem_cm0.DATAOUT(_datain);

	/** Tracefile **/

	sc_trace_file *tf = sc_create_vcd_trace_file("wave_mem");
	sc_write_comment(tf, "Memory simulation");
	tf->set_time_unit(1, SC_NS);

	sc_trace(tf,_clk,"_clk");
	sc_trace(tf,_rst_n,"_rst_n");
	sc_trace(tf,_r_nw,"_r_nw");
	sc_trace(tf,_addr,"_addr");
	sc_trace(tf,_datain,"_datain");
	sc_trace(tf,_dataout,"_dataout");

	/** Stimulus setting and simulation **/

	mem_cm0.disable_rst_randomization(true, true); // Disable reset, with initial value at 1

	sc_start((N_TEST_RUN+1)*(5), SC_NS);      // Start simulation
	
	sc_close_vcd_trace_file(tf);              // Close tracefile

	system("pause");                          // Pause

	return 0;

}
Пример #8
0
mem4 () { mem0 (); }
Пример #9
0
static pgdn ()
{
	*addr = (*addr + 16) & ADDRMASK;
	mem0 ();
}
Пример #10
0
static pgup ()
{
	*addr = (*addr - 16) & ADDRMASK;
	mem0 ();
}