ZHANG AND CAI: REDUCED-COMPLEXITY DECODER ARCHITECTURE FOR NON-BINARY LDPC CODES 1237
TABLE III
HARDWARE COMPLEXITY FOR A (837, 726) MIN-MAX QCNB-LDPC DECODER
each possible combination of the messages from two
vectors in the min-max computation leads to very long latency.
In the case that the messages with the smallest LLRs are always
located in one vector, the forward or backward process for a layer
takes 1728 clock cycles. However, this best case almost never
happens, especially in a partial-parallel architecture where the
longest latency among the processing of multiple check nodes
should be taken as the CNU latency. Typically, the latency of the
CNUin [12] is much longer. In addition, this architecture carried
out the forward process first. Then the backward and merging
are done simultaneously. The complexity of the CNU using the
architecture in [12] for processing one layer at a time is also listed
in Table II. Even if the best case latency is considered for this
architecture, the CNU proposed in this paper can still achieve
seven times the speed with 25% of the area.
The hardware complexity of the proposed decoder is shown
in Table III. The inputs for each of the Path Constructor I and
II can come from different RAM E blocks. In addition,
for each RAM E block, the field elements associated with
corresponding zero-LLR v-to-c messages are stored in RAM
Zero blocks, whose complexity has been included in the sorters.
Hence, a -bit 5-to-1 multiplexor is
required to route the input of one path constructor. Accordingly,
1-bit 2-to-1 multiplexors are needed to
implement the multiplexors at the inputs of the path constructors.
The multiplexors listed in Table III also include those at the
inputs of the permutation and RAM B1 blocks. The address
RAM is used to store the address of the last computed entry in
each message vector. These memories are not explicitly shownin
Fig. 5. Since the permutation and multiplication for the messages
for one block column of are completed in one stage, which has
clock cycles, 16 barrel shifters, and 16 multipliers are
needed. Each barrel shifter requires a 10-bit 31-to-1 multiplexor
and each multiplier can be implemented by 25 AND and
24 XOR gates with 5 XOR and 1 AND gates in the critical path. In
addition, the select signals for the barrel shifters and constants
for the multiplications are stored in ROMs. is the same as
, and each select signal or constant multiplicand has 5
bits. Hence 12.865 kbits need to
be stored for each of the permutation and multiplication blocks.
RAM E blocks are not counted in the RAM requirement of the
sorters.However, the sorters do include
copies of RAM Zero. It can be observed from Table III that the
adder/subtractor requires a large number of logic gates and
registers. This is due to the involved expensive parallel sorters.
TABLE IV
DECODER COMPLEXITY COMPARISON FOR A (837, 726) QCNB-LDPC CODE
Detailed complexity analysis for the adder/subtractor can be
found in [13].
The adder/subtractor has a feedback loop in the parallel
sorter. It consists of 15 gates and cannot be divided into shorter
segments without slowing down the addition/subtraction. The
other decoder units have been designed such that the critical
path is not longer. Hence, the critical path of the overall decoder
has 15 gates. On application-specific integrated circuit (ASIC)
devices, a clock frequency of 150 MHz can be easily achieved.
From Fig. 6, it can be derived that the decoding for the (837,
726) code with 15 iterations takes
clock cycles. Hence,
this decoder can reach a throughput of 10 Mb/s.
Apartial-parallel Min-max layered QCNB-LDPC decoder architecture
using the forward-backward check node processing
and storing the c-to-v messages for each layer has been presented
in [13]. This architecture also keeps entries in
each message vector. It is the most efficient among available
NB-LDPC decoder architectures. In Table IV, the proposed decoder
architecture is compared with this architecture for a (837,
726) code. Both architectures employ 31-parallel processing. It
can be observed from Table IV that the two architectures have
the same critical path and can achieve the same throughput.
However, the RAM requirement of the decoder proposed in this
paper is much lower. In addition, the logic gate and register
numbers are similar. It can be computed that the total area requirement
of the proposed decoder is only
of that of the decoder in [13]. Although keeping all messages
in a vector leads to simpler vector addition and subtraction,
it also results in larger memory requirement, which dominates
the area of NB-LDPC decoders. In addition, the CNU
architecture in [12] has much longer latency than our design.
Therefore, the decoder architecture employing the CNU in [12]
is not further compared.
With less than half of the area, the proposed decoder can run
at the same speed as the previous best design. The area saving
mainly comes from memory reduction, which is achieved by not
only the novel sorting and path construction based check node
processing, but also the innovative idea of storing the c-to-v
messages in a “compressed” manner. In the decoder architecture
in [13], eight copies of RAM A are employed. They account
for more than 75% of the overall decoder area. One RAM
A is used for storing the channel information as in the proposed
decoder. Two of them are used to store intermediate results in
the forward-backward check node processing, and three copies
are adopted for recording the c-to-v messages. In addition, another
two RAM A blocks are used to hold the v-to-c input messages
to the CNU to be used for computing the a posteriori
เตียวและบทเรียนคอมพิวเตอร์ช่วยสอน: การลดความซับซ้อนถอดรหัสสถาปัตยกรรมไม่ใช่รหัสไบนารี LDPC 1,237
ตาราง III
ฮาร์ดแวร์สำหรับความซับซ้อน (837, 726) MIN-MAX QCNB-LDPC ถอดรหัส
แต่ละรวมกันเป็นไปได้ของข้อความจากสอง
พาหะในการคำนวณนาทีสูงสุดนำไปสู่ ที่จะแฝงนานมาก.
ในกรณีที่ข้อความที่มีขนาดเล็กที่สุด LLRs มักจะ
อยู่ในหนึ่งเวกเตอร์กระบวนการไปข้างหน้าหรือข้างหลังชั้น
ใช้เวลา 1,728 รอบนาฬิกา อย่างไรก็ตามกรณีที่ดีที่สุดนี้แทบจะไม่เคย
เกิดขึ้นโดยเฉพาะอย่างยิ่งในสถาปัตยกรรมบางส่วนขนานที่
แฝงที่ยาวที่สุดในหมู่การประมวลผลของการตรวจสอบหลายโหนด
ควรนำมาเป็นแฝง CNU โดยปกติแฝง
CNUin [12] เป็นนาน นอกจากนี้สถาปัตยกรรมนี้ดำเนิน
กระบวนการข้างหน้าแรก จากนั้นย้อนกลับและการควบรวม
จะทำไปพร้อม ๆ กัน ความซับซ้อนของ CNU ใช้
สถาปัตยกรรม [12] สำหรับการประมวลผลชั้นหนึ่งในช่วงเวลาที่มีการระบุไว้
ในตารางที่สอง แม้ว่าความล่าช้ากรณีที่ดีที่สุดคือการพิจารณาในการนี้
สถาปัตยกรรม CNU เสนอในบทความนี้ยังคงสามารถบรรลุ
เจ็ดครั้งความเร็วที่มี 25% ของพื้นที่.
ความซับซ้อนของฮาร์ดแวร์ถอดรหัสที่เสนอจะแสดง
ในตารางที่สาม ปัจจัยการผลิตสำหรับแต่ละเส้นทางสร้าง I และ
II ได้มาจากบล็อก RAM E ที่แตกต่างกัน นอกจากนี้
สำหรับแต่ละ RAM บล็อก E, ด้านองค์ประกอบที่เกี่ยวข้องกับการ
ที่สอดคล้องกันเป็นศูนย์ LLR โวลต์ต่อคข้อความจะถูกเก็บไว้ใน RAM
บล็อกเป็นศูนย์ที่มีความซับซ้อนได้รับการรวมอยู่ใน sorters.
ดังนั้นบิต 5 ต่อ 1 ถูกล็
ต้องการให้หาเส้นทางการป้อนข้อมูลของตัวสร้างเส้นทางหนึ่ง ดังนั้น
1 บิต 2 ต่อ 1 multiplexors ที่จำเป็นในการ
ดำเนินการ multiplexors ที่ปัจจัยการผลิตของการก่อสร้างเส้นทาง.
multiplexors แสดงในตารางที่สาม ได้แก่ ผู้ที่มี
ปัจจัยการผลิตของการเปลี่ยนแปลงและ RAM บล็อก B1 ที่อยู่
RAM จะใช้ในการจัดเก็บที่อยู่ของรายการคำนวณที่ผ่านมาใน
แต่ละเวกเตอร์ข้อความ ความทรงจำเหล่านี้จะไม่ชัดเจน shownin
รูป 5. เนื่องจากการเปลี่ยนแปลงและการคูณสำหรับข้อความ
สำหรับคอลัมน์บล็อกหนึ่งจะเสร็จสมบูรณ์ในขั้นตอนหนึ่งซึ่งมี
รอบนาฬิกา 16 จำแลงบาร์เรลและ 16 คูณจะ
จำเป็น จำแลงบาร์เรลแต่ละคนต้องมี 10 บิตที่ 31 ต่อ 1 ล็
คูณและแต่ละคนสามารถดำเนินการโดย 25 AND และ
24 ประตูแฮคเกอร์ 5 แฮคเกอร์และ 1 และประตูในเส้นทางที่สำคัญ ใน
นอกจากนี้สัญญาณเลือกสำหรับจำแลงบาร์เรลและค่าคงที่
สำหรับคูณจะถูกเก็บไว้ในรอม เป็นเช่นเดียวกับ
และแต่ละสัญญาณเลือกหรือตัวตั้งคงมี 5
ชิ้น ดังนั้น 12.865 กิโลบิตต้อง
ถูกเก็บไว้สำหรับแต่ละการเปลี่ยนแปลงและบล็อกคูณ.
บล็อก RAM E จะไม่ถูกนับในความต้องการของแรม
sorters.However, sorters ไม่รวมถึง
สำเนาของ RAM ศูนย์ มันสามารถสังเกตได้จากตารางที่สามที่
บวก / ตัวลบต้องใช้จำนวนมากของประตูตรรกะและ
การลงทะเบียน นี่คือสาเหตุที่เกี่ยวข้องกับ sorters ขนานแพง.
ตาราง IV
ถอดรหัสความซับซ้อนสำหรับการเปรียบเทียบ (837, 726) QCNB-LDPC รหัส
การวิเคราะห์ความซับซ้อนละเอียดบวก / ตัวลบที่สามารถ
พบได้ใน [13].
บวก / ตัวลบมีห่วงความคิดเห็น ในแบบคู่ขนาน
เรียงลำดับ มันประกอบไปด้วย 15 ประตูและไม่สามารถแบ่งออกเป็นสั้น
ส่วนโดยไม่ชะลอตัวลงนอกจากนี้ / ลบ
หน่วยถอดรหัสอื่น ๆ ที่ได้รับการออกแบบดังกล่าวที่สำคัญ
เส้นทางไม่ได้อีกต่อไป ดังนั้นเส้นทางที่สำคัญของการถอดรหัสโดยรวม
มี 15 ประตู ในวงจรแบบบูรณาการโปรแกรมเฉพาะ (ASIC)
อุปกรณ์ความถี่สัญญาณนาฬิกาของ 150 MHz สามารถทำได้อย่างง่ายดาย.
จากรูป 6 ก็สามารถมาที่ถอดรหัสสำหรับ (837,
726) รหัสซ้ำกับ 15 ใช้เวลา
รอบนาฬิกา ดังนั้น
ถอดรหัสนี้สามารถเข้าถึงได้ผ่าน 10 Mb / s.
Apartial ขนาน Min-สูงสุดชั้นสถาปัตยกรรมถอดรหัส QCNB-LDPC
โดยใช้การประมวลผลโหนดตรวจสอบย้อนกลับไปข้างหน้า
และจัดเก็บข้อความคต่อโวลต์สำหรับแต่ละชั้นได้รับการนำเสนอ
ใน [13] สถาปัตยกรรมนี้ยังช่วยให้รายการใน
แต่ละเวกเตอร์ข้อความ มันเป็นที่มีประสิทธิภาพมากที่สุดในหมู่ใช้ได้
สถาปัตยกรรมถอดรหัส NB-LDPC ในตารางที่สี่ถอดรหัสเสนอ
สถาปัตยกรรมเมื่อเทียบกับสถาปัตยกรรมนี้ (837,
726) รหัส สถาปัตยกรรมการประมวลผลทั้งการจ้างงาน 31 ขนาน มัน
สามารถมองเห็นได้จากตาราง IV ว่าทั้งสองสถาปัตยกรรมมี
เส้นทางที่สำคัญที่เหมือนกันและจะประสบความสำเร็จผ่านเดียวกัน.
อย่างไรก็ตามความต้องการ RAM ถอดรหัสที่นำเสนอในครั้งนี้
กระดาษที่ต่ำกว่ามาก นอกจากนี้ประตูตรรกะและลงทะเบียน
หมายเลขที่มีความคล้ายคลึง มันสามารถคำนวณได้ว่าต้องการพื้นที่ทั้งหมด
ของการถอดรหัสที่นำเสนอเป็นเพียง
ของที่ถอดรหัสใน [13] แม้ว่าการรักษาข้อความทั้งหมด
ในเวกเตอร์นอกจากนี้ยังนำไปสู่การเวกเตอร์ง่ายและลบ
มันยังส่งผลให้ความต้องการหน่วยความจำขนาดใหญ่ซึ่งปกครอง
พื้นที่ของการถอดรหัส NB-LDPC นอกจากนี้ CNU
สถาปัตยกรรม [12] มีความล่าช้านานกว่าการออกแบบของเรา.
ดังนั้นสถาปัตยกรรมถอดรหัสจ้าง CNU ใน [12]
เมื่อเทียบไม่ได้ต่อไป.
มีน้อยกว่าครึ่งหนึ่งของพื้นที่ถอดรหัสเสนอสามารถทำงานได้
ที่ ความเร็วเดียวกับออกแบบที่ดีที่สุดก่อนหน้านี้ ประหยัดพื้นที่
ส่วนใหญ่มาจากการลดหน่วยความจำซึ่งจะทำได้โดยไม่
เพียง แต่การจัดเรียงที่แปลกใหม่และการก่อสร้างเส้นทางตามตรวจสอบโหนด
ประมวลผล แต่ยังคิดสร้างสรรค์ในการจัดเก็บคต่อโวลต์
ข้อความใน "บีบอัด" ลักษณะ ในสถาปัตยกรรมถอดรหัส
ใน [13] แปดสำเนาของ RAM ที่มีการจ้างงาน พวกเขาบัญชี
มานานกว่า 75% ของพื้นที่โดยรวมถอดรหัส แรมหนึ่ง
ถูกนำมาใช้สำหรับการจัดเก็บข้อมูลที่เป็นช่องทางในการเสนอ
ตัวถอดรหัส สองของพวกเขาถูกนำมาใช้ในการจัดเก็บผลกลางใน
การตรวจสอบการประมวลผลโหนดข้างหน้าย้อนกลับและสามเล่ม
จะนำไปใช้สำหรับการบันทึกข้อความคต่อโวลต์ นอกจากนี้อีก
สองช่วงตึก RAM จะใช้ในการเก็บโวลต์ต่อคข้อความการป้อนข้อมูล
เพื่อ CNU ที่จะใช้สำหรับการคำนวณ posteriori
การแปล กรุณารอสักครู่..

จางและ CAI : ถอดรหัสสถาปัตยกรรมที่มีความซับซ้อนต่ำ non-binary LDPC รหัสไง
3
โต๊ะฮาร์ดแวร์ซับซ้อนสำหรับ ( 837 min-max 726 , ) qcnb-ldpc ถอดรหัส
การรวมกันในแต่ละที่เป็นไปได้ของข้อความจากสอง
เวกเตอร์ในการคำนวณ Min Max นำไปสู่ยาวมาก ( .
ในกรณีที่ข้อความด้วยเสมอ
llrs น้อยที่สุด ตั้งอยู่ในเวกเตอร์กระบวนการไปข้างหน้าหรือข้างหลัง สำหรับชั้น
ใช้เวลานาฬิกาโดยรอบ อย่างไรก็ตาม กรณีที่ดีที่สุดที่เคย
เกิดขึ้น โดยเฉพาะอย่างยิ่งในส่วนขนานสถาปัตยกรรมที่แฝงอยู่ระหว่างการประมวลผลของยาว
ตรวจสอบโหนดหลาย ควรถ่ายขณะที่ผมแฝงอยู่ โดยทั่วไปแล้ว ศักยภาพของ
cnuin [ 12 ] มีอีกเยอะ นอกจากนี้ สถาปัตยกรรมนี้อุ้ม
ออกไปข้างหน้ากระบวนการก่อนแล้วข้างหลังและผสาน
เสร็จพร้อมกัน ความซับซ้อนของลีดเดอร์ใช้
สถาปัตยกรรมใน [ 12 ] สำหรับการประมวลผลทีละชั้น ยังจดทะเบียน
ในตารางที่ 2 ถ้ากรณีที่ดีที่สุด ( ถือว่าเป็นสถาปัตยกรรมนี้
, ผมเสนอ ในกระดาษนี้ยังสามารถบรรลุ
7 ครั้ง ความเร็ว 25 % ของพื้นที่ .
ฮาร์ดแวร์ถอดรหัสแสดงความซับซ้อนของการนำเสนอ
ตารางที่ 3 ปัจจัยของแต่ละเส้นทางที่ผู้สร้างและ
2 สามารถที่แตกต่างกันมาจาก RAM และบล็อก นอกจากนี้
แต่ละราม E บล็อก ด้านองค์ประกอบที่เกี่ยวข้องกับ
ที่ศูนย์ไม v-to-c ข้อความจะถูกเก็บไว้ในแรม
ศูนย์บล็อกที่มีความซับซ้อนถูกรวมใน sorters .
ดังนั้น - เพล็กเซอร 5-to-1 บิตมี
ต้องเส้นทางการป้อนข้อมูลของทางผู้สร้าง
ตาม1 บิต multiplexors กึ่งหนึ่งเป็น
ใช้ multiplexors ที่อินพุตของเส้นทางก่อสร้าง .
multiplexors แสดงในตารางที่สามยังรวมถึงผู้ที่
ปัจจัยการผลิตของการเรียงสับเปลี่ยนและ RAM 1 บล็อก ที่อยู่
Ram ถูกใช้เพื่อเก็บที่อยู่ของเมื่อคำนวณรายการใน
แต่ละข้อความเวกเตอร์ ความทรงจำเหล่านี้จะไม่ชัดเจน shownin
รูปที่ 5เนื่องจากการเปลี่ยนแปลงและการคูณสำหรับข้อความ
หนึ่งบล็อกคอลัมน์ที่เสร็จสมบูรณ์ในขั้นตอนหนึ่งซึ่งมี
รอบนาฬิกา , 16 ระบบบาร์เรลและ 16 ตัวคูณเป็น
ต้องการ แต่ละบาร์เรล Shifter ต้อง 10 บิต 31-to-1 เพล็กเซอร
และแต่ละตัวคูณที่สามารถดำเนินการโดย 25 และ 24 XOR กับ 5 XOR
ประตู 1 และประตูและในเส้นทางสำคัญ ใน
นอกจากนี้เลือกสัญญาณสำหรับระบบบาร์เรลและค่าคงที่
สำหรับการคูณถูกเก็บอยู่ในรอม . เป็นเช่นเดียวกับ
และแต่ละเลือกสัญญาณคงที่ขี้ประติ๋วมี 5
บิต ดังนั้น 12.865 กิโลบิตต้อง
ถูกเก็บไว้สำหรับแต่ละการเปลี่ยนแปลงและการคูณบล็อก บล็อก E
RAM จะไม่นับในแรมความต้องการของ
sorters.however , sorters รวมถึง
สำเนาของแรมที่ศูนย์จะสามารถสังเกตได้จากตารางที่ 3 ที่
เพิ่ม / สตริงต้องการตัวเลขขนาดใหญ่ของประตูตรรกะและ
ระเบียน นี้คือเนื่องจากการเกี่ยวข้อง sorters ขนานมีราคาแพง
โต๊ะ 4 ถอดรหัสความซับซ้อนเปรียบเทียบ ( 837 726 , โค้ด qcnb-ldpc
การวิเคราะห์ความซับซ้อนของวงจรบวกวงจรลบ
/ สามารถพบได้ใน [ 13 ] .
วงจรบวกวงจรลบมีความคิดเห็น / ห่วงในตัวขนานกัน
มันประกอบด้วย 15 ประตู และไม่สามารถแบ่งออกเป็นส่วนที่สั้นกว่า
โดยไม่ต้องชะลอตัวลงเพิ่ม / ลบ
หน่วยอื่นๆถอดรหัสได้รับการออกแบบดังกล่าวว่าวิกฤติ
ไม่ได้อีกต่อไป ดังนั้น วิกฤติของ
ถอดรหัสโดยรวมได้ 15 ประตู ในโปรแกรมเฉพาะวงจรรวม ( ASIC )
อุปกรณ์ , นาฬิกาความถี่ 150 MHz สามารถบรรลุ .
จากรูปที่ 6มันสามารถหาที่ถอดรหัสสำหรับ ( 837
, 726 ) รหัส 15 รอบใช้เวลา
รอบนาฬิกา ดังนั้น
ถอดรหัสนี้สามารถเข้าถึงผ่าน 10 Mb / s .
apartial ขนาน Min Max ชั้น qcnb-ldpc ถอดรหัสสถาปัตยกรรม
ใช้ย้อนกลับไปข้างหน้าตรวจสอบโหนดการประมวลผล
และจัดเก็บ c-to-v ข้อความสำหรับแต่ละชั้นได้รับการเสนอ
[ 13 ] สถาปัตยกรรมนี้ยังช่วยให้รายการใน
แต่ละข้อความเวกเตอร์ มันเป็นมีประสิทธิภาพมากที่สุดระหว่างใช้ได้
nb-ldpc ถอดรหัสสถาปัตยกรรม . ตารางที่ 4 เสนอ ถอดรหัส
สถาปัตยกรรมเมื่อเทียบกับสถาปัตยกรรมนี้ ( 837
, 726 ) รหัส สถาปัตยกรรมการประมวลผลแบบขนานทั้งจ้าง 31 . มันสามารถดูได้จากตารางที่ 4
ที่ 2 สถาปัตยกรรมมีพาธเดียวกันและสามารถบรรลุ throughput เดียวกัน
อย่างไรก็ตามแรมความต้องการของตัวถอดรหัสที่เสนอในบทความนี้
ลดลงมาก นอกจากนี้ ประตูตรรกะและหมายเลขลงทะเบียน
จะคล้ายกัน มันสามารถคำนวณได้ว่า ทั้งหมดของพื้นที่ของการเสนอเท่านั้น
ที่ถอดรหัสถอดรหัสใน [ 13 ] แม้ว่าการรักษาข้อความทั้งหมด
ในเวกเตอร์เวกเตอร์ที่ง่ายนักที่จะเพิ่มและการลบ ,
มันยังส่งผลให้ความต้องการหน่วยความจำขนาดใหญ่ ,ซึ่งครอบงำ
พื้นที่ nb-ldpc ถอดรหัส . นอกจากนี้ ลีดเดอร์
สถาปัตยกรรมใน [ 12 ] มีศักยภาพมากกว่าการออกแบบของเรา .
ดังนั้นตัวถอดรหัสสถาปัตยกรรมการเปลี่ยนใน [ 12 ]
ไม่เพิ่มเติม เปรียบเทียบ กับ น้อยกว่าครึ่งหนึ่งของพื้นที่ที่เสนอ ถอดรหัส สามารถวิ่งที่ความเร็ว
เช่นเดียวกับก่อนหน้านี้ที่ดีที่สุดในการออกแบบ พื้นที่บันทึก
ส่วนใหญ่มาจากการลดหน่วยความจำซึ่งจะเกิดขึ้นโดยไม่
นวนิยายเท่านั้น การเรียงลำดับ และการก่อสร้างเส้นทางจากโหนดการประมวลผล
ตรวจสอบ แต่ยังนวัตกรรมความคิดของการจัดเก็บข้อความ c-to-v
ใน " อัด " ลักษณะ ในสถาปัตยกรรมถอดรหัส
[ 13 ] , 8 ชุดของแรมเป็นลูกจ้าง พวกเขาบัญชี
มากกว่า 75% ของ พื้นที่ขายรวม หนึ่ง RAM : ใช้จัดเก็บข้อมูลช่องทางในการนำเสนอ
ถอดรหัส . สองของพวกเขาจะถูกใช้เพื่อเก็บผลระดับกลางใน
ถอยหลังไปข้างหน้าตรวจสอบโหนดการประมวลผลและสามเล่ม
ใช้สำหรับบันทึก c-to-v ข้อความ นอกจากนี้อีก
2 แรมใช้บล็อกเพื่อถือ v-to-c ใส่ข้อความ
กับผมที่จะใช้สำหรับการคำนวณจากผลไปสู่เหตุ
การแปล กรุณารอสักครู่..
