Commit Graph
15376 Commits
Author SHA1 Message Date
ChiehChun bec348405b Find the largest contiguos region 2021-02-07 10:39:40 +01:00
ChiehChun 8f988e384d Add pf_ul & pseudo code 2021-02-07 10:39:40 +01:00
ChiehChun 5573b8e18c Change vrb_map_UL to rballoc_mask 2021-02-07 10:39:40 +01:00
ChiehChun 2becbb9210 Verify the same K2 2021-02-07 10:39:40 +01:00
ChiehChun 7da43c95d2 Change pre_precessor_ul type to bool
- To check the current slot is the scheduled slot(UL slot - K2) and
  only execute the post processor in scheduled slot.
2021-02-07 10:39:40 +01:00
ChiehChun 0234015f8e Check slot is DL slot to pre-schedule UL data 2021-02-07 10:39:40 +01:00
ChiehChun 2283e12560 Calculate rbSize from estimated buffer 2021-02-07 10:39:40 +01:00
ChiehChun c7ffd5740f Add sched_ul_bytes/ulsch_current_bytes & Update in rx_sdu/schedule_ulsch 2021-02-07 10:39:40 +01:00
ChiehChun 4d0a2e4877 Save selected UL HARQ PID in post-processor 2021-02-07 10:39:40 +01:00
Robert Schmidt 4b1be522a5 Add estimated_ul_buffer & Update in DTCH 2021-02-07 10:39:40 +01:00
ChiehChun 989aade7b8 Log lcid default case & pirntout MAC PDU 2021-02-07 10:39:40 +01:00
ChiehChun 21e9339427 Add short/long BSR Table & Log the BSR value 2021-02-07 10:39:40 +01:00
ChiehChun c316f2fc57 Correct bit ordering in struct NR_BSR_LONG 2021-02-07 10:39:40 +01:00
ChiehChun a95346d169 Modify the case of truncated BSR 2021-02-07 10:39:40 +01:00
ChiehChun 1ff770ff20 Add CE & BSR pointer 2021-02-07 10:39:40 +01:00
ChiehChun 2b6a651aae Fix LCID of CRNTI for nr UE 2021-02-07 10:39:40 +01:00
ChiehChun 5e226b9e22 Remove assertion for single UE 2021-02-07 10:39:40 +01:00
ChiehChun 3bb4bddc0d Allocate DL new transmission 2021-02-07 10:39:40 +01:00
ChiehChun a7cb83889a Find max coeff from UE_sched 2021-02-07 10:39:40 +01:00
ChiehChun 6d5634b8ce Check DL buf and Calculate the coeff to create UE_sched 2021-02-07 10:39:40 +01:00
ChiehChun a3cc9f730b Add dlsch_current_bytes and Calculate throughput 2021-02-07 10:39:40 +01:00
ChiehChun 0dd0f5ce4a Create function for find CCE and retransmission 2021-02-07 10:39:40 +01:00
ChiehChun 13da3d6e8a Create nr_store_dlsch_buffer() 2021-02-07 10:39:40 +01:00
ChiehChun 68b03e9cb6 Create pf_dl function 2021-02-07 10:39:40 +01:00
ChiehChun 3b4ec2c82b Change vrb_map to rballoc_mask 2021-02-07 10:39:40 +01:00
ChiehChun 6c3897d4a7 Save selected DL HARQ PID in post-processor 2021-02-07 10:39:40 +01:00
ChiehChun 9fb45867a1 Initial num_pdcch_cand for multi-UE 2021-02-07 10:39:40 +01:00
Robert Schmidt 75dbf5fa4d Don't log retransmissions explicitly 2021-02-07 10:39:40 +01:00
Raymond Knopp 0496c15d27 Remove PHY HARQ round_trials logs 2021-02-07 10:39:40 +01:00
Cedric Roux 16b9f4ed60 Increase RLC buffer size to 10MB, warn when buffer full 2021-02-07 10:39:40 +01:00
Robert Schmidt ca47955293 Bugfix: check that retransmission can be allocated 2021-02-07 10:39:39 +01:00
Robert Schmidt 78da8c9345 Save TB in MAC, transmit TX_req also on retx 2021-02-07 10:39:39 +01:00
Robert Schmidt 80e23a179e Enable 12 slots
This commit enables more slots so that the "real UE" preprocessor can
schedule them. The DL phytest preprocessor continues to only schedule
slots 1 & 3.  This is because the OAI-UE needs to have PUCCH scheduled
at least six slots in advance.  Since we do not support this (yet), but
assume that two slots are enough, we schedule the UE only in slot 1 & 3
so it has 6 slots until slot 7 to send PUCCH.
2021-02-07 10:39:39 +01:00
Robert Schmidt 59cb9c87e0 Refactor nr_rx_sdu() 2021-02-07 10:39:39 +01:00
Robert Schmidt 0773229b1a Implement UL HARQ using NR_list_t 2021-02-07 10:39:39 +01:00
Robert Schmidt a0d47c504c Create lists for UL HARQ management 2021-02-07 10:39:39 +01:00
Robert Schmidt 4ddd45f813 Implement DL HARQ using NR_list_t 2021-02-07 10:39:39 +01:00
Robert Schmidt 42710ee7ba Create lists for DL HARQ management 2021-02-07 10:39:39 +01:00
Raymond Knopp a3867df5f3 cleanup after removing harq state in L0 2021-02-07 10:39:39 +01:00
Raymond Knopp ee2ce7670d made L1 DLSCH encoding stateless. harq_pid/round information are not kept in PHY. Full channel encoding is performed for each transmission of a transport block.
Still to be done: test, then cleanup data structures and fix unitary simulations.
2021-02-07 10:39:39 +01:00
Robert Schmidt d7f46a2ff2 Set RRC nrofHARQ_ProcessesForPDSCH to 16 2021-02-07 10:39:39 +01:00
Robert Schmidt c9de1c70c0 Set secondaryCellGroup + default values in add_new_nr_ue() 2021-02-07 10:39:39 +01:00
Robert Schmidt 74cb9bf367 Refactor add_new_nr_ue() and mac_remove_nr_ue()
mac_remove_nr_ue(): no need to memset sched_ctrl, since it is done on
connection of a UE
2021-02-07 10:39:39 +01:00
Robert Schmidt 4a0efd6f48 mac_top_init_gNB(): do not init per-UE HARQ
the whole UE_sched_ctrl is initialized in add_new_nr_ue(), which will
also init the per-UE HARQ.
2021-02-07 10:39:39 +01:00
Robert Schmidt 77c7fe5b87 Create more generic NR_list_t with helper functions 2021-02-07 10:39:39 +01:00
Robert Schmidt 338d8debae Bugfix OAI UE: reset slot_for_feedback_ack to initial value 2021-02-07 10:39:39 +01:00
Robert Schmidt e328a6ccf7 Make multiple passes over RLC to get all data 2021-02-07 10:39:39 +01:00
Robert Schmidt 76d154f07c Do not count down TBS 2021-02-07 10:39:39 +01:00
Robert Schmidt a18ed9d92d Reorder DLSCH MAC PDU logic
Before this commit, the DLSCH scheduler would construct the MAC PDU by
reading RLC data into a memory on the stack, and then construct the PDU
with CEs first. There are at least two problems:
- we need to keep track of the exact number of bytes of CEs (cumbersome)
  to calculate the number of MAC SDUs to include
- we needlessly copy data around.

This commit does the following instead:
- write all CEs first (no need of keeping track of this in DLSCH and a
  separate function)
- then read MAC SDUs directly into nFAPI as much as possible or
  necessary, without recopying
2021-02-07 10:39:39 +01:00
Robert Schmidt 96e1f3597b Group PDCCH PDU per CC/BWP/CORESET in RA, and reuse in DLSCH 2021-02-07 10:39:39 +01:00