4.6. Polynomial Multiplication
4.6.1. Design Configuration A (512 Coefficients, 16 Polynomials, One Addition). The design configuration
Ain Figure 5 uses a high-throughput polynomial multiplication to minimize
the latency. Since this design does compute one polynomial addition at a time, we can
simplify the shift operation. Figure 7 shows the resulting architecture. The shift operation
is implemented using a parallel-in parallel-out fixed-length shift register. This
reduces the cost of shift operation significantly compared to the variable-length shift
approach. First, the value of si is loaded into the shift register. Then, at every clock
cycle, the shift register shifts by 1, and if the input ci = “1”, then the 512 coefficients
are added at the same time. The output of the final addition (31th) is transferred to a
parallel-in serial-out shift register. Since the next result will be ready after 512 clock
cycles, the architecture can use only one adder and one comparator to add yi and to
check if the generated signature is valid. The latency of one polynomial multiplication
is 512 clock cycles. The design configuration A uses 16 of these blocks to compute eight
signature candidates at the same time.
4.6.2. Design Configuration B (512 Coefficients, One Polynomial, 31 Additions). The adder tree
of 31 additions of one coefficient costs a total of 31 parallel adders arranged as 16, 8,
4, 2, and 1 of size 3 bits, 4 bits, 5 bits, 6 bits, and 7 bits, respectively. Moreover, to
generate one signature candidate, for each coefficient we also have to perform a 16-bit
addition (to add yi) and a comparison (to check if zi is valid). This number of operations
times 512, to parallelize it for 512 coefficients, and the cost of shifting makes the design
configuration too large to fit into our target FPGA. However, the design configuration
B may still be implemented on larger high-cost FPGAs. The resulting architecture
would generate a signature candidate in two clock cycles and a valid signature at
approximately every 14 clock cycles after hashing.
4.6 . พหุนาม การคูณ
ต่ำ . การออกแบบการตั้งค่า ( 512 สัมประสิทธิ์พหุนาม 16 , 1 ) การออกแบบการตั้งค่า
ก็รูปที่ 5 ใช้พหุนามการคูณช่วยลด
ที่แฝงอยู่ ตั้งแต่การออกแบบนี้จะคำนวณโดยเพิ่มหนึ่งในเวลา เราสามารถ
ง่ายกะงาน รูปที่ 7 แสดงผลสถาปัตยกรรม กะงาน
การใช้ขนานขนานไปกะความยาวคงที่ลงทะเบียน ลดต้นทุนของงานนี้
กะอย่างมากเมื่อเทียบกับตัวแปรความยาวกะ
) แรก , ค่าของชีจะโหลดลงในกะ ลงทะเบียน แล้วทุกครั้งที่นาฬิกา
รอบ กะ ลงทะเบียนกะ 1 และถ้าใส่ CI = " 1 " แล้ว 512 สัมประสิทธิ์
จะถูกเพิ่มในเวลาเดียวกันของส่วนสุดท้าย ( 31 ) จะถูกโอนไปยัง
คู่ขนานในอนุกรมออกกะ ลงทะเบียน เนื่องจากผลต่อไปจะพร้อมหลัง 512 นาฬิกา
รอบ , สถาปัตยกรรมสามารถใช้เพียงหนึ่งวงจรและเปรียบเทียบเพื่อเพิ่มอีและ
ตรวจสอบว่าสร้างลายเซ็นใช้ได้ ศักยภาพของพหุนาม การคูณ
เป็น 512 นาฬิการอบค่าออกแบบใช้ 16 ของบล็อกเหล่านี้เพื่อหาผู้สมัคร 8
ลายเซ็นในเวลาเดียวกัน .
4.6.2 . การออกแบบองค์ประกอบ B ( 512 ) , พหุนาม , 31 เพิ่ม ) งูต้นไม้
31 เพิ่มหนึ่งเท่ากับต้นทุนรวม 31 ขนานเพิ่มเติมจัดเป็น 16 , 8
4 , 2 และ 1 ขนาด 3 บิต 4 บิต 5 บิต , บิตบิตที่ 6 และ 7 ตามลำดับ โดย
,สร้างหนึ่งลายเซ็นผู้สมัคร แต่ละแบบ เราต้องดำเนินการ 16 บิต
2 ( เพิ่มอี ) และการเปรียบเทียบ ( เพื่อตรวจสอบว่าจื่อเป็นใช้ได้ ) นี้งาน
ครั้ง 512 , parallelize มัน 512 ) และค่าใช้จ่ายในการทำให้การตั้งค่าการออกแบบ
ขนาดใหญ่เกินไปที่จะพอดีกับ FPGA เป้าหมายของเรา อย่างไรก็ตาม การปรับแต่ง
ออกแบบบีอาจจะใช้ในการออกแบบที่มีค่าใช้จ่ายสูง . ส่งผลให้สถาปัตยกรรม
จะสร้างลายเซ็นผู้สมัครในรอบสองนาฬิกาและลายเซ็นที่ถูกต้องประมาณ 14 นาฬิการอบ
ทุกหลังบริการ .
การแปล กรุณารอสักครู่..