PatternPusher: put data at correct address when misaligned (#1249)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							87eed645d8
						
					
				
				
					commit
					95294bbdcb
				
			@@ -18,8 +18,8 @@ trait Pattern {
 | 
			
		||||
 | 
			
		||||
case class WritePattern(address: BigInt, size: Int, data: BigInt) extends Pattern
 | 
			
		||||
{
 | 
			
		||||
  require (log2Floor(data) < (BigInt(8) << size))
 | 
			
		||||
  def bits(edge: TLEdgeOut) = edge.Put(UInt(0), UInt(address), UInt(size), UInt(data))
 | 
			
		||||
  require (0 <= data && data < (BigInt(1) << (8 << size)))
 | 
			
		||||
  def bits(edge: TLEdgeOut) = edge.Put(UInt(0), UInt(address), UInt(size), UInt(data << (8*(address % edge.manager.beatBytes).toInt)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
case class ReadPattern(address: BigInt, size: Int) extends Pattern
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user