// "bool-memory-read-b.hac"
// copy-modified from "bool-memory-read-a.hac"
//	$Id: bool-memory-read-b.hac,v 1.3 2007/08/09 05:49:42 fang Exp $
// Testing RAM reading.  Expect failure on out-of-bounds access.  

import "bool-memory.hac";
import "int-source.hac";
import "bool-sink.hac";
import "bool-source.hac";
import "channel-sync.hac";

chan(bool) Read;
chan(int) Addr;
chan(bool, int) AddrReq;
channel_sync_bool_int<32> reqsync(Read, Addr, AddrReq);	// grouping
chan(bool) DataWrite, DataRead;
bool_memory_array<4> brom(AddrReq, DataWrite, DataRead);
int_source<32> adsrc<4, {0,1,2,5}>(Addr);	// out-of-bounds
bool_sink bsnk(DataRead);
bool_source_constant bsrc<true>(DataWrite);
bool_source_constant rsrc<false>(Read);		// false to request read

