Commit Graph

  • ec5c6ce08b Properly copy over queue data to inflight entry Hansung Kim 2023-04-28 00:50:19 -07:00
  • 16c8eb2ada Fix old request not being invalidated; end-to-end flow working Hansung Kim 2023-04-27 21:54:02 -07:00
  • b5b1a7da66 Add uncoalescer test case for all-lane-same-offset case Hansung Kim 2023-04-27 21:53:36 -07:00
  • edc05d51e6 Fix not respecting invalidate.valid from coalescer Hansung Kim 2023-04-27 21:35:26 -07:00
  • 7f821a66f5 First attempt at hooking up coalescer to uncoalescer Hansung Kim 2023-04-27 21:19:56 -07:00
  • dfdd4f8342 Redundant call syntax Hansung Kim 2023-04-27 20:36:04 -07:00
  • 699520073e Make maxSize accessor function Hansung Kim 2023-04-27 20:34:20 -07:00
  • ba2bc3020b Fix truncation bug in matchCount Hansung Kim 2023-04-27 20:24:15 -07:00
  • 84ac332637 Add chiseltest for stride = 0 Hansung Kim 2023-04-27 19:51:17 -07:00
  • 7780250c7a More comments & renames Hansung Kim 2023-04-27 19:17:07 -07:00
  • 900f5adb20 running coalescing flow Richard Yan 2023-04-26 01:23:21 -07:00
  • 4c1ae1cb3d More debug prints Hansung Kim 2023-04-25 19:15:28 -07:00
  • ef25c8a3f0 Fix matchCount having bit width of 1 for spatial-only Hansung Kim 2023-04-25 18:46:26 -07:00
  • 2090b8703e Rename params Hansung Kim 2023-04-25 17:16:28 -07:00
  • 33f7adb5eb Make separate param for response depth queue Hansung Kim 2023-04-25 17:09:46 -07:00
  • 980c77a8fa Renames Hansung Kim 2023-04-25 16:55:59 -07:00
  • 9000577f45 Add assertions for queue drift Hansung Kim 2023-04-25 14:36:52 -07:00
  • 99348e1e40 mostly running coalescing test Richard Yan 2023-04-25 02:50:14 -07:00
  • 3a0fdb2c67 WIP diplomacy set up for coal unit test Richard Yan 2023-04-25 02:26:13 -07:00
  • be40c77d06 merge graphics Richard Yan 2023-04-25 00:10:51 -07:00
  • 37620400db WIP coalescing flow test Richard Yan 2023-04-25 00:09:23 -07:00
  • 31e04e9402 Fix CoalShiftQueue invalidate logic Hansung Kim 2023-04-24 14:01:11 -07:00
  • 7539c39c45 Store SizeEnum in entry instead of UInt Hansung Kim 2023-04-23 21:38:11 -07:00
  • 5d105b36c5 Merge branch 'richard-dev' into graphics Richard Yan 2023-04-23 21:34:52 -07:00
  • a872856263 quick coalescer connection fix Richard Yan 2023-04-23 21:31:25 -07:00
  • 7663a03a8c coalescer implementation passing compilation Richard Yan 2023-04-23 21:29:07 -07:00
  • c21a196907 scalafmt Hansung Kim 2023-04-23 20:56:55 -07:00
  • 647d7b8628 WIP multi-coalescer Richard Yan 2023-04-23 20:31:54 -07:00
  • bac8916ba1 mono coalescer implementation Richard Yan 2023-04-23 15:55:46 -07:00
  • 0f2e4ee8aa Store UInt instead of ChiselEnum in entry; pass tests Hansung Kim 2023-04-23 15:28:12 -07:00
  • 8cee61a591 Uncoalesce using table size enum Hansung Kim 2023-04-23 14:42:10 -07:00
  • ccf9b95fb5 Create custom response bundle to decouple from TileLink Hansung Kim 2023-04-23 13:37:10 -07:00
  • 4d16ec9b08 Allow trace driver to make double-word reqs Hansung Kim 2023-04-23 12:23:10 -07:00
  • a7baf57e49 Left out fix Hansung Kim 2023-04-23 12:09:47 -07:00
  • a71c0aed73 Don't set default filename in class initializers Hansung Kim 2023-04-23 12:07:52 -07:00
  • b6115cc394 Fix generating PutPartialData from toTLA Hansung Kim 2023-04-23 11:53:42 -07:00
  • 0c0a8ec553 SimMemTraceLogger: store handle in class Hansung Kim 2023-04-23 11:27:06 -07:00
  • a84757f8f8 restructure parameters into config object && cleanup Richard Yan 2023-04-23 03:09:20 -07:00
  • d28216182c merge graphics Richard Yan 2023-04-23 00:54:24 -07:00
  • 684f732a9a it compiles (& coal gen reorg) Richard Yan 2023-04-23 00:41:35 -07:00
  • 2a82e8d119 Fix TL data mask stencil logic in MemTraceLogger Hansung Kim 2023-04-23 00:39:59 -07:00
  • 6cd27faed2 Respect old req size in uncoalescer Hansung Kim 2023-04-22 23:04:47 -07:00
  • 85e3a6a940 somehow merged Richard Yan 2023-04-22 21:56:57 -07:00
  • b895d304bb pre-merge Richard Yan 2023-04-22 21:28:38 -07:00
  • 90a797e71a Make MemTraceDriver generate word-sized requests Hansung Kim 2023-04-22 21:04:45 -07:00
  • c5d722112b Make word size global object Hansung Kim 2023-04-22 14:58:02 -07:00
  • 8a7e6f1391 Replace hardcoded trace widths with proper params Hansung Kim 2023-04-21 18:20:16 -07:00
  • bbe62a8583 Properly count per-lane req/resps Hansung Kim 2023-04-21 17:23:51 -07:00
  • db06bda674 Count req/resp lines and bytes to coalescer and test match Hansung Kim 2023-04-21 16:49:19 -07:00
  • 3ba566b9f7 Give slack time after trace EOF before sim termination Hansung Kim 2023-04-21 16:26:09 -07:00
  • 3f9f7a1d67 Generate proper AccessAck/AccessAckData from response queue Hansung Kim 2023-04-21 16:14:18 -07:00
  • e04ffe2130 Generate separate traces per logger/req/resp Hansung Kim 2023-04-21 15:53:15 -07:00
  • 6ae08b6541 Add missing sizeWidth to uncoalescer test Hansung Kim 2023-04-21 11:24:57 -07:00
  • de478dcca9 Generate both Put/Get for non-coalesced requests Hansung Kim 2023-04-20 21:57:40 -07:00
  • a9719d5e36 Split tl*OpcodeIsStore out to global scope Hansung Kim 2023-04-20 21:42:56 -07:00
  • de6d6eee1a Fix request shift queue not enqueuing when empty Hansung Kim 2023-04-20 21:12:19 -07:00
  • 7e405b5355 Re-enable coalescer in TLRAMCoalescerLoggerTest Hansung Kim 2023-04-20 21:11:12 -07:00
  • b2ab45f5e2 Change parameters to spatial-only coalescing Hansung Kim 2023-04-20 21:09:19 -07:00
  • 8715bede37 WIP coalescer restructure Richard Yan 2023-04-19 01:03:30 -07:00
  • 322f340657 Manage to make new bugs while doing that Hansung Kim 2023-04-18 00:14:33 -07:00
  • 65a22b7fcb Use TLMessages constants instead of numbers Hansung Kim 2023-04-18 00:09:48 -07:00
  • 2ac5ee398a Doc Hansung Kim 2023-04-17 21:31:13 -07:00
  • 334d05b222 Remove leftover printf Hansung Kim 2023-04-17 21:17:23 -07:00
  • 02ce969c67 Fix width mismatch for source logger Hansung Kim 2023-04-17 18:52:38 -07:00
  • d4a51cfee5 Log source ID in the trace Hansung Kim 2023-04-17 18:43:17 -07:00
  • 41d520a991 Log both request and response in trace logger Hansung Kim 2023-04-17 17:59:30 -07:00
  • 8978c2a812 trait HasTraceReq Hansung Kim 2023-04-17 16:51:37 -07:00
  • f60602fc34 Write trace from logger in the same format as driver Hansung Kim 2023-04-17 16:26:25 -07:00
  • 282434eb7d Basic C++ file IO for trace logger Hansung Kim 2023-04-17 16:20:27 -07:00
  • 1a90ad52ac Cleanup tracer debug prints Hansung Kim 2023-04-17 15:50:17 -07:00
  • 8e6a5f4bce Fix address & data handling in memtrace driver and logger Hansung Kim 2023-04-17 15:30:30 -07:00
  • 57874a564e Set TL size according to trace from driver Hansung Kim 2023-04-12 14:23:17 -07:00
  • 8e763b512a Relay full trace line info to DPI Hansung Kim 2023-04-12 13:54:59 -07:00
  • 1057ed59d3 Parse log2(size) from trace; set is_store from TL opcode Hansung Kim 2023-04-11 18:23:50 -07:00
  • 71f334bb22 Fix size parsing from memtrace Hansung Kim 2023-04-11 17:36:45 -07:00
  • 62f940618e Convert manual bitshift to Chisel bitfield access Hansung Kim 2023-04-10 21:03:20 -07:00
  • dca52ace0b Fix verilog lint error Hansung Kim 2023-04-10 20:37:26 -07:00
  • b53711965e Connect TL edge data to SimMemTraceLogger Hansung Kim 2023-04-10 20:24:27 -07:00
  • af29acdcda Placeholder for MemTraceLogger C++ code Hansung Kim 2023-04-09 14:53:02 -07:00
  • 452cc40eb7 Make MemTraceLogger pass-through node Hansung Kim 2023-04-07 17:22:52 -07:00
  • 109ad2cac0 Write MemTraceLogger and new synthesizable unittest Hansung Kim 2023-04-07 16:23:14 -07:00
  • abecd30b2b Store sourceId for every old req entry in table Hansung Kim 2023-04-07 14:50:40 -07:00
  • 8e5254292b Attach MemTracer to SBus , all physical addr hashed between 0X80000000->0X90000000 Vamber Yang 2023-04-05 23:42:41 -07:00
  • bdc32b765f Accept memory trace filename from VCS plusargs Hansung Kim 2023-04-03 17:41:47 -07:00
  • c0d502960f Experiment with coalescing across all lanes Hansung Kim 2023-04-02 12:23:28 -07:00
  • d62732fb89 Invalidate outgoing per-lane requests that got coalesced Hansung Kim 2023-04-01 14:33:46 -07:00
  • d9f6e27a04 Move coalescer chiseltest to its own package Hansung Kim 2023-03-31 20:51:34 -07:00
  • 4aabbecda1 Do not deassert deq.valid right after invalidate(head) Hansung Kim 2023-03-31 20:38:21 -07:00
  • 1c0c8fa112 Complete test for enqueuing to invalidated tail Hansung Kim 2023-03-31 20:15:37 -07:00
  • 92ad5c2548 Cleanup padding logic Hansung Kim 2023-03-31 20:11:11 -07:00
  • 3ee639f376 Eliminate unnecessary delay when invalidating head Hansung Kim 2023-03-31 19:55:11 -07:00
  • 6ca22a39e0 Implement automatic dequeuing of invalid entries Hansung Kim 2023-03-31 19:40:10 -07:00
  • f44dfc8d5a Implement invalidation for the queue Hansung Kim 2023-03-31 19:25:25 -07:00
  • a0d75530cb Use used mask in CoalShiftQueue Hansung Kim 2023-03-31 17:07:59 -07:00
  • 303c43a5e2 Make CoalShiftQueue use wptr; add unit test Hansung Kim 2023-03-29 19:05:02 -07:00
  • a3472752bf Duplicate ShiftQueue definition to make entries visible Hansung Kim 2023-03-29 16:06:14 -07:00
  • 12b3b67687 Store multiple oldSrcId reqs per lane in a table row Hansung Kim 2023-03-29 14:02:41 -07:00
  • 3b335bda18 Basic unit test for the uncoalescer Hansung Kim 2023-03-29 00:49:04 -07:00
  • 9bc8f0074b Make uncoalescer a separate module for better testability Hansung Kim 2023-03-28 17:07:54 -07:00
  • 23d8fa3be1 Write simple test for MultiPortQueue Hansung Kim 2023-03-27 15:21:01 -07:00