Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						c411a3e77f 
					 
					
						
						
							
							tilelink2: simpler sizes requirement for users to understand  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:40 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						ab998c08f1 
					 
					
						
						
							
							tilelink2: save some hardware in HintHandler if no BCE  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:40 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						18e7d4cd65 
					 
					
						
						
							
							tilelink2: make it possible to write Node-only adapters  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:40 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						4a401fc480 
					 
					
						
						
							
							tilelink2: add a Buffer adapter to insert pipeline stages  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						50f0dee69e 
					 
					
						
						
							
							tilelink2: add an IdentityNode for adapters that change nothing  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						9cd2991fb3 
					 
					
						
						
							
							tilelink2: AddressSet always has an assigned base address  
						
						 
						
						... 
						
						
						
						The consensus seems to be that TileLink should not be assigning
addresses dynamically. The reasons:
1. We can come up with another scheme for assigning addresses that is
   independent of TileLink.  This decoupling is good, because it would
   allow us to use the same mechanism for different buses in the SoC.
2. The informational flow of addresses is more likely to naturally follow
   the module hierarchy than the TileLike bus topology. Thus, it seems
   better to pass address parameterization using Module constructors.
3. Addresses are still checked by TileLink, so using a Module-centric
   flow for addresses will not pose a correctness concern.
4. An address need only be provided to a slave on its construction and
   TileLink parameterization spreads this globally. Thus, the burden to
   manually assign an address is low. 
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						ae2bc4da21 
					 
					
						
						
							
							tilelink2: refactor RegField into interface and implementation  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						d6727abbbc 
					 
					
						
						
							
							tilelink2: rename Operations to Edges (as it only includes Edges)  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						ee3e31cb23 
					 
					
						
						
							
							tilelink2: refactor TLNodes into a seperate file  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						69b3de92a8 
					 
					
						
						
							
							tilelink2: decouple BaseNode from TileLink bus (so it can be reused)  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						c785375276 
					 
					
						
						
							
							tilelink2: use 'connect' instead of TL-specific 'tl' to connect nodes  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						05221d7073 
					 
					
						
						
							
							tilelink2: rename Bases.scala to LazyModule.scala  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						8d54ae8508 
					 
					
						
						
							
							tilelink2: move TL-specific stuff out of the LazyModule base classes  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						f99a3dbec7 
					 
					
						
						
							
							tilelink2: rename Factory=>LazyModule and TLModule=>LazyModuleImp  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						5b31fb81fe 
					 
					
						
						
							
							tilelink2: IDNode needs to be specialized for output vs. input passthrough  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						eac4d44131 
					 
					
						
						
							
							tilelink2: don't apply HintHandler to B=>C by default  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						cc8112d02e 
					 
					
						
						
							
							tilelink2: pass E through the HintHandler  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						a72f7115ae 
					 
					
						
						
							
							tilelink2: optimize support testing circuits  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						f0cfd81820 
					 
					
						
						
							
							tilelink2: add an adapter to add support for Hints to devices  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						5f6ca0bd0d 
					 
					
						
						
							
							tilelink2: rename wmask => mask since it also applies to reads  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						7347b0c4dd 
					 
					
						
						
							
							tilelink2: TLLegacy converts from legacy TileLink to TileLink2  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						fa472e38fb 
					 
					
						
						
							
							tilelink2: monitor error line legality  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:39 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						edb17d1e34 
					 
					
						
						
							
							tilelink2: document allowed (and required) response messages  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						ec1f901a38 
					 
					
						
						
							
							tilelink2: move error from type into Bundle and add HintAck  
						
						 
						
						... 
						
						
						
						We need Grant with errors too.
We also want to match response type to request type more easily. 
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						534d7f6eb6 
					 
					
						
						
							
							tilelink2: implement SRAM manager  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						32894a8e20 
					 
					
						
						
							
							tilelink2: transfers must never exceed 4kB  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						dd27a60daa 
					 
					
						
						
							
							tilelink2: use consistent in/out ports for TLSimpleFactories  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						1a87eef3e2 
					 
					
						
						
							
							tilelink2: add atomic message types  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						5f7711a0c0 
					 
					
						
						
							
							tilelink2: add an intermediate type for simple factories  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						967d8f108c 
					 
					
						
						
							
							tilelink2: support ready-valid enqueue+dequeue on register fields  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						77cf186cf0 
					 
					
						
						
							
							tilelink2: make bundle parameterization reusable  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						594850eaae 
					 
					
						
						
							
							tilelink2: assert-fail on something more user understandable  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						dc1164a996 
					 
					
						
						
							
							tilelink2: defer bundle construction until after Module base class instantiated  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						18e149098a 
					 
					
						
						
							
							tilelink2: connect abstract register-based modules to TileLink  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						917a9c8e5d 
					 
					
						
						
							
							tilelink2: forward declarations for message constructors  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						4649c42f50 
					 
					
						
						
							
							tilelink2: use a new type in the signature of null-parameter Bundle methods  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						0ff33a31a4 
					 
					
						
						
							
							tilelink2: add a stub SRAM manager  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						a87c2d13e2 
					 
					
						
						
							
							tilelink2: include an abstract definition for register mapped devices  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						3a441d853f 
					 
					
						
						
							
							tilelink2: clarify that fifoId only applies to accesses (not hints)  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						4b99bd3be1 
					 
					
						
						
							
							tilelink2: mask out unnecessary address bits  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						e24ba61754 
					 
					
						
						
							
							tilelink2: distinguish two levels of uncacheability  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:38 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						e506309998 
					 
					
						
						
							
							tilelink2: prototype crossbar implementation  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						34f65938b6 
					 
					
						
						
							
							tilelink2: add a TLBundle constructor  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						1cd85ff050 
					 
					
						
						
							
							tilelink2: add some bundle introspection to scaffold the xbar  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						9c62f5d9c1 
					 
					
						
						
							
							tilelink2: shave off a few more firrtl monitor lines  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						af29595979 
					 
					
						
						
							
							tilelink2: eliminate common subexpressions in Monitor to reduce firrtl output  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						d7e839280f 
					 
					
						
						
							
							tilelink2: include legal message monitor  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						492a38aedc 
					 
					
						
						
							
							tilelink2: only accesses can have errors (release must make forward progress)  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						6599bcb77b 
					 
					
						
						
							
							tilelink2: statically check Operations are remotely plausible  
						
						 
						
						
						
						
					 
					
						2016-09-05 20:58:37 -07:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						8cff45f254 
					 
					
						
						
							
							tilelink2: use byte-aligned addressing  
						
						 
						
						... 
						
						
						
						This makes it possible to fully validate user input in a monitor.
We will override the lower bits with constant 0s in the TL connect. 
						
						
					 
					
						2016-09-05 20:58:37 -07:00