nvdla / hw

RTL, Cmodel, and testbench for NVDLA
Other
1.71k stars 565 forks source link

Question: The purpose of D_RELEASE register #250

Open anakin1028 opened 5 years ago

anakin1028 commented 5 years ago

Hi all, can someone elaborate the purpose of the D_RELEASE register? From the code in NV_NVDLA_CSC_dl.v, Line 985 (master branch)

From my interpretation of the following paragraph of code, if we skip data release, then all the data in the previous CSC layer will be released, so we got all these free entries (reg2dp_datain_height_ext+1). But when we don't want to skip all the data, we can release (reg2dp_datain_height_ext - reg2dp_rls_slices). Is my interpretation correct? Since what I think originally is that we can get reg2dp_rls_slices entries instead of reg2dp_datain_height_ext - reg2dp_rls_slices

slice_left_w = reg2dp_skip_data_rls?(reg2dp_datain_height_ext + 1):reg2dp_datain_height_ext - reg2dp_rls_slices
slice_oprand = lyaer_st_d1?rls_slices:slice_left
slice_entries_w = entries_batch * slice_operand

Thanks in advance.