1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 275 unchanged lines hidden (view full) --- 284 285#define SC_METHOD(name) \ 286 { \ 287 ::sc_gem5::Process *p = \ 288 ::sc_gem5::newMethodProcess( \ 289 #name, new ::sc_gem5::ProcessMemberFuncWrapper< \ 290 SC_CURRENT_USER_MODULE>(this, \ 291 &SC_CURRENT_USER_MODULE::name)); \ |
292 if (p) \ 293 this->sensitive << p; \ |
294 } 295#define SC_THREAD(name) \ 296 { \ 297 ::sc_gem5::Process *p = \ 298 ::sc_gem5::newThreadProcess( \ 299 #name, new ::sc_gem5::ProcessMemberFuncWrapper< \ 300 SC_CURRENT_USER_MODULE>(this, \ 301 &SC_CURRENT_USER_MODULE::name)); \ |
302 if (p) \ 303 this->sensitive << p; \ |
304 } 305#define SC_CTHREAD(name, clk) \ 306 { \ 307 ::sc_gem5::Process *p = \ 308 ::sc_gem5::newCThreadProcess( \ 309 #name, new ::sc_gem5::ProcessMemberFuncWrapper< \ 310 SC_CURRENT_USER_MODULE>(this, \ 311 &SC_CURRENT_USER_MODULE::name)); \ |
312 if (p) { \ 313 this->sensitive << p; \ 314 this->sensitive << clk; \ 315 } \ |
316 } 317 318// Nonstandard 319// Documentation for this is very scarce, but it looks like it's supposed to 320// stop the currently executing cthread, or if a cthread isn't running report 321// an error. 322void halt(); 323void at_posedge(const sc_signal_in_if<bool> &); --- 40 unchanged lines hidden --- |