ارائه تمامجمعکنندههای تقریبی با خطای کم و آگاه از تغییرپذیری برای کاربردهای تحمل پذیر عدم دقت
محورهای موضوعی : مهندسی برق و کامپیوترمحمد میرزایی 1 , سيامك محمدي 2
1 - دانشگاه تهران،دانشکده مهندسی برق و کامپیوتر
2 - دانشگاه تهران،دانشکده مهندسی برق و کامپیوتر
کلید واژه: تغییرپذیری, تمامجمعکننده تقریبی, جمعکننده تقریبی, کاربردهای تحملپذیر عدم دقت, محاسبات تقریبی,
چکیده مقاله :
کاربردهای تحملپذیر عدم دقت مانند پردازش تصویر و یادگیری ماشین به دلیل محدودیتهای حس انسان یا ماهیت کاربرد، قابلیت تحمل عدم دقت را دارند. استفاده از محاسبات تقریبی در این کاربردها میتواند به کاهش قابل توجهی در توان، تأخیر و مساحت منجر شود. در این مقاله دو تمامجمعکننده تقریبی و یک جمعکننده تقریبی با خطای کم ارائه شده و اثرات تغییرپذیری قالب به قالب ولتاژ آستانه روی این مدارها مورد ارزیابی قرار گرفته است. برای ارزیابی خطا و تغییرپذیری، از این تمامجمعکنندههای تقریبی در ساختار جمعکننده با انتشار نقلی و الگوریتمهای پردازش تصویر sharpening و smoothing استفاده شده است. از نظر سه پارامتر حاصلضرب- توان- تأخیر، دقت و مساحت برای ورودیهای با توزیع یکنواخت، تمامجمعکننده پیشنهادی 1 و از نظر حداکثر نسبت سیگنال به نویز برای کاربردهای واقعی، تمامجمعکننده پیشنهادی 2 و جمعکننده پیشنهادی، بهترین عملکرد را دارند.
In imprecision-tolerant applications such as image processing and machine learning, imprecision can be tolerated because of the nature of the application itself or the limitation of human senses. By using the approximate computation in these applications, significant power, delay, or area reductions can be achieved. In this paper, two approximate full adders and an approximate adder, with low error are proposed. The effects of die-to-die (D2D) process variation on the threshold voltage of approximate circuits have been evaluated. For evaluating the accuracy and the variability, these approximate full adders have been used and analyzed in the ripple carry adder structure, image Sharpening and image Smoothing algorithms. In terms of power-delay-product (PDP), accuracy, and area for uniformly distributed inputs, the proposed approximate full adder 1, exhibits the best performance, and the proposed approximate full adder 2 and the proposed approximate adder, show the best peak-signal-to-noise ratio (PSNR) for real images.
[1] M. A. Laurenzano, P. Hill, M. Samadi, S. Mahlke, J. Mars, and L. Tang, "Input responsiveness: using canary inputs to dynamically steer approximation," ACM SIGPLAN Notices, vol. 51, no. 6, pp. 161-176, Santa Barbara CA, USA, 13 - 17 Jun. 2016.
[2] H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger, "Architecture support for disciplined approximate programming," ACM SIGPLAN Notices, vol. 47, no. 4, pp. 301-312, London UK, 3-7 Mar. 2012.
[3] S. Mittal, "A survey of techniques for approximate computing," ACM Computing Surveys, vol. 48, no. 4, Article ID: 62, 33 pp., May 2016.
[4] H. Jiang, C. Liu, L. Liu, F. Lombardi, and J. Han, "A review, classification, and comparative evaluation of approximate arithmetic circuits," ACM J. on Emerging Technologies in Computing Systems, vol. 13, no. 4, Article ID: 60, pp 1-34, Oct. 2017.
[5] C. Hernandez, A. Roca, F. Silla, J. Flich, and J. Duato, "On the impact of within-die process variation in GALS-based NoC performance," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 31, no. 2, pp. 294-307, Feb. 2012.
[6] M. Mirzaei, M. Mosaffa, and S. Mohammadi, "Variation-aware approaches with power improvement in digital circuits," Integration, the VLSI J., vol. 48, pp. 83-100, Jan. 2015.
[7] M. Mirzaei, M. Mosaffa, S. Mohammadi, and J. Trajkovic, "Power and variability improvement of an asynchronous router using stacking and dual-Vth approaches," in Proc. Euromicro Conf. on Digital System Design, pp. 327-334, Los Alamitos, CA, USA, 4-6 Sert. 2013.
[8] S. M. T. Adl, M. Mirzaei, and S. Mohammadi, "Elastic buffer evaluation for link pipelining under process variation," IET Circuits, Devices & Systems, vol. 12, no. 5, pp. 645-654, Sept. 2018.
[9] M. Mirzaei and S. Mohammadi, "Low-power and variation-aware approximate arithmetic units for Image Processing Applications," AEU-International J. of Electronics and Communications, vol. 138, Article ID: 153825, 13 pp., Aug. 2021.
[10] M. Mirzaei and S. Mohammadi, "Process variation-aware approximate full adders for imprecision-tolerant applications," Computers & Electrical Engineering, vol. 87, Article ID: 106761, 14 pp., Oct. 2020.
[11] T. Yang, T. Ukezono, and T. Sato, "A low-power configurable adder for approximate applications," in Proc. 19th Int. Symp. on Quality Electronic Design, ISQED’18, pp. 347-352, Santa Clara, CA, USA, 13-14 Mar. 2018.
[12] T. Ukezono, "An error corrector for dynamically accuracy-configurable approximate adder," in Proc. 6th Int. Symp. on Computing and Networking Workshops, CANDARW’18, pp. 145-151, Takayama, Japan, 27-30 Nov. 2018.
[13] H. R. Mahdiani, A. Ahmadi, S. M. Fakhraie, and C. Lucas, "Bio-inspired imprecise computational blocksfor efficient VLSI implementation of soft-computing applications," IEEE Trans. on Circuits and Systems I: Regular Papers, vol. 57, no. 4, pp. 850-862, Apr. 2009.
[14] A. M. Hassani, M. Rezaalipour, and M. Dehyadegari, "A novel ultra low power accuracy configurable adder at transistor level in Proc. 8th Int.Conf. on Computer and Knowledge Engineering, ICCKE’18, pp. 165-170, Mashhad, Iran, 25-26 Oct. 018.
[15] A. Dalloo, A. Najafi, and A. Garcia-Ortiz, "Systematic design of an approximate adder: the optimized lower part constant-or adder," IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 26, no. 8, pp. 1595-1599, Aug. 2018.
[16] L. B. Soares, M. M. A. da Rosa, C. M. Diniz, E. A. C. da Costa, and S. Bampi, "Design methodology to explore hybrid approximate adders for energy-efficient image and video processing accelerators," IEEE Trans. on Circuits and Systems I: Regular Papers, vol. 66, no. 6, pp. 2137-2150, Jun. 2019.
[17] S. Mazahir, M. K. Ayub, O. Hasan, and M. Shafique, "Probabilistic error analysis of approximate adders and multipliers," Approximate Circuits: Springerpp. 99-120, Dec. 2019.
[18] Y. Wu, Y. Li, X. Ge, Y. Gao, and W. Qian, "An efficient method for calculating the error statistics of block-based approximate adders," IEEE Trans. on Computers, vol. 68, no. 1, pp. 21-38, Jan. 2018.
[19] O. Akbari, M. Kamal, A. Afzali-Kusha, and M. Pedram, "RAP-CLA: a reconfigurable approximate carry look-ahead adder," IEEE Trans. on Circuits and Systems II: Express Briefs, vol. 65, no. 8, pp. 1089-1093, Nov. 2016.
[20] H. A. Almurib, T. N. Kumar, and F. Lombardi, "Approximate DCT image compression using inexact computing," IEEE Trans. on Computers, vol. 67, no. 2, pp. 149-159, Jul. 2017.
[21] V. Gupta, D. Mohapatra, S. P. Park, A. Raghunathan, and K. Roy, "IMPACT: imprecise adders for low-power approximate computing," in Proc. of the 17th IEEE/ACM Int. Symp. on Low-Power Electronics and Design, pp. 409-414, Fukuoka, Japan, 1-3 Aug. 2011.
[22] V. Gupta, D. Mohapatra, A. Raghunathan, and K. Roy, "Low-power digital signal processing using approximate adders," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 32, no. 1, pp. 124-137, Dec. 2012.
[23] Z. Yang, A. Jain, J. Liang, J. Han, and F. Lombardi, "Approximate XOR/XNOR-based adders for inexact computing," in Proc. 13th IEEE Int. Conf. on Nanotechnology, IEEE-NANO’13, pp. 690-693, Beijing, China, 5-8 Aug. 2013.
[24] H. A. Almurib, T. N. Kumar, and F. Lombardi, "Inexact designs for approximate low power addition bycell replacement," in Proc. Design, Automation & Test in Europe Conf. & Exhibition, DATE’16, , pp. 660-665, Dresden, Germany, 14-18 Mar. 2016.
[25] N. H. Weste and D. Harris, CMOS VLSI Design: A Circuits and Systems Perspective, Pearson Education India, 2015.
[26] Z. Yang, J. Han, and F. Lombardi, "Transmission gate-based approximate adders for inexact computing," in Proc. of the IEEE/ACM Int. Symp. on Nanoscale Architectures, NANOARCH'15, pp. 145-150, Boston, MA, USA, 08-10 Jul. 2015.
[27] S. Venkatachalam and S. B. Ko, "Design of power and area efficient approximate multipliers," IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 25, no. 5, pp. 1782-1786, Jan. 2017.
[28] H. Waris, C. Wang, and W. Liu, "High-performance approximate half and full adder cellsusing NAND logic gate," IEICE Electronics Express, vol.16, no.6, pp. 36-43, Jun. 2019.
[29] Y. S. Mehrabani, S. G. Gigasari, M. Mirzaei, and H. Uoosefian, "A novel highly-efficient inexact full adder cell for motion and edge detection systems of image processing in CNFET technology," ACM J. of Emerging Technologies in Computing System, vol. 18, no. 3, pp. 127-142, Mar. 2022.
[30] Z. Zareei, M. Bagherizadeh, M. Shafiabadi, and Y. S. Mehrabani, "Design of efficient approximate 1-bit full adder cells using CNFET technology applicable in motion detector systems," Microelectronics J., vol. 108, Article ID: 104962, 15 pp., Feb. 2021.
[31] S. H. Shahrokhi, M. Hosseinzadeh, M. Reshadi, and S. Gorgin, "High-performance and low-energy approximate full adder design for error-resilient image processing," International J. of Electronics, vol. 109, no. 6, pp. 1059-1079, Aug. 2021.
[32] Y. S. Mehrabani, M. Parsapour, M. Moradi, and M. Bagherizadeh, "A novel efficient CNFET-based inexact full adder design for image processing applications," International J. of Nanoscience, vol. 20, no. 2, pp. 21-30, Jan. 2015.
[33] S. Salavati, M. H. Moaiyeri, and K. Jafari, "Ultra-efficient nonvolatile approximate full-adder with spin-Hall-assisted MTJ cells for in-memory computing applications," IEEE Trans. on Magnetics, vol. 57, no. 5, pp. 1-11, Mar. 2021.
[34] G. Gulafshan, D. Hasan, and M. Khan, "Fast and Area Efficient Hybrid MTJ-CMOS Spintronic Approximate Adder," in Proc. , 5th IEEE Int. Conf. on Emerging Electronic, ICEE’20, New Delhi, India, 26-28 Nov. 2022.
[35] -, Predictive Technology Model, Retrived on Jan. 2, 2020, http://ptm.asu.edu
[36] H. R. Myler and A. R. Weeks, The Pocket Handbook of Image Processing Algorithms in C, Prentice Hall Press, 2009.
[37] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image quality assessment: from error visibility to structural similarity," IEEE Trans. on Image Processing, vol. 13, no. 4, pp. 600-612, Apr. 2004.
نشریه مهندسی برق و مهندسی كامپیوتر ایران، الف- مهندسی برق، سال 20، شماره 2، تابستان 1401 93
مقاله پژوهشی
ارائه تمامجمعکنندههای تقریبی با خطای کم و آگاه از
تغییرپذیری برای کاربردهای تحملپذیر عدم دقت
محمد میرزایی و سیامک محمدی
چكیده: کاربردهای تحملپذیر عدم دقت مانند پردازش تصویر و یادگیری ماشین به دلیل محدودیتهای حس انسان یا ماهیت کاربرد، قابلیت تحمل
عدم دقت را دارند. استفاده از محاسبات تقریبی در این کاربردها میتواند به کاهش قابل توجهی در توان، تأخیر و مساحت منجر شود. در این مقاله دو تمامجمعکننده تقریبی و یک جمعکننده تقریبی با خطای کم ارائه شده و اثرات تغییرپذیری قالب به قالب ولتاژ آستانه روی این مدارها مورد ارزیابی قرار گرفته است. برای ارزیابی خطا و تغییرپذیری، از این تمامجمعکنندههای تقریبی در ساختار جمعکننده با انتشار نقلی و الگوریتمهای پردازش تصویر sharpening و smoothing استفاده شده است. از نظر سه پارامتر حاصلضرب- توان- تأخیر، دقت و مساحت برای ورودیهای با توزیع یکنواخت، تمامجمعکننده پیشنهادی 1 و از نظر حداکثر نسبت سیگنال به نویز برای کاربردهای واقعی، تمامجمعکننده پیشنهادی 2 و جمعکننده پیشنهادی، بهترین عملکرد را دارند.
کلیدواژه: تغییرپذیری، تمامجمعکننده تقریبی، جمعکننده تقریبی، کاربردهای تحملپذیر عدم دقت، محاسبات تقریبی.
1- مقدمه
کاربردهایی مانند پردازش تصویر و صدا و بینایی کامپیوتر2 به دلیل آن که اکثر محاسبات را روی تصویر، صدا و ویدئو انجام دادهاند یا با حسهای نادقیق انسان سروکار دارند، حساسیت کمتری به کیفیت خروجی کاربرد دارند. این کاربردها، کاربردهای تحملپذیر عدم دقت3 نامیده میشوند. در این کاربردها با استفاده از محاسبات تقریبی4 و کاهش ناچیز کیفیت خروجی، میتوان به بهبود قابل توجهی از نظر مساحت، توان مصرفی و کارایی دست یافت [1]. مثلاً در الگوریتم خوشهبندی5 k-means با کاهش 5 درصدی دقت دستهبندی6، میتوان تا 50 برابر انرژی را کاهش داد [2] و [3].
در سیستم محاسبات دودویی مهمترین واحد محاسباتی جمعکننده میباشد که از آن برای انجام عملیاتی مانند جمع، تفریق، ضرب و تقسیم استفاده میشود. همچنین در بیشتر کاربردهای تحملپذیر عدم دقت از واحدهای محاسباتی مانند جمعکنندهها و ضربکنندههای تقریبی استفاده میگردد. جزء اصلی تشکیلدهنده ساختار جمعکنندهها و ضربکنندههای تقریبی، تمامجمعکنندههای تقریبی7 است و به همین دلیل در این مقاله به بررسی تمامجمعکنندههای تقریبی میپردازیم که یکی از پرکاربردترین المانهای محاسباتی در محاسبات تقریبی میباشند [4].
با پیشرفت فناوری، در طی مراحل ساخت نیمههادی، عواملی چون لیتوگرافی و نقص لنز موجب ایجاد تغییراتی در پارامترهای ترانزیستور
و اتصالات میانی میشود. این تغییرات فیزیکی منجر به تغییراتی در مشخصه الکتریکی ترانزیستور، نظیر جریان و ولتاژ آستانه 8 ترانزیستور میگردد. در نتیجه استفاده از این ترانزیستور در یک مدار، موجب ایجاد تغییراتی در توان و تأخیر آن مدار میگردد. در این حالت تغییرپذیری به یکی از چالشهای طراحان مبدل شده است؛ به طوری که در فناوریهای زیر 45 نانومتر، مهمترین عامل عدم اطمینان، تغییرپذیری میباشد [5]. کاربردهای تحملپذیر عدم دقت از جمعکنندههای تقریبی برای کاهش توان و تأخیر استفاده مینمایند اما تغییرپذیری روی توان و تأخیر این مدارها تأثیر میگذارد. از این رو اثرات تغییرپذیری روی جمعکنندههای تقریبی باید مورد ارزیابی و بررسی قرار گیرند.
تغییرپذیری به دو دسته تغییرپذیری پارامترهای فرایند ساخت9 و تغییرپذیری پارامترهای محیطی10 تقسیم میشود [6]. تغییرپذیری فرایند، در طول فرایند ساخت رخ میدهد و عموماً دایمی است که این تغییرات به دلیل محدودیتهای فرآوری11 و پوششگذاری12 رخ میدهد. تغییرپذیری محیطی در طول کار یک مدار خود را نشان میدهد و این نوع تغییرپذیری شامل دما، ضریب فعالیت13 و ولتاژ تغذیه میباشد. تغییرپذیری فرایند ساخت به دو گروه درونقالب 14(WID) و قالب به قالب 15(D2D) تقسیم میشود. در تغییرپذیری درونقالب تغییرات میتوانند اثرات متفاوتی روی سطح یک قالب ایجاد نمایند. مثلاً به دلیل نوسانات تصادفی ناخالصی 16(RDF)، ولتاژ آستانه در سطح یک قالب یکسان نبوده و در قسمتهای مختلف آن متفاوت میباشد. تغییرپذیری قالب به قالب اثر یکسانی روی سطح یک قالب دارد اما این اثرات از قالبی به قالب دیگر متفاوت است. مثلاً به دلیل تفاوت در ضخامت یک ویفر17، ولتاژ آستانه دو قالب مجاور با هم متفاوت بوده و این در حالی است که در سطح هر قالب، ولتاژ آستانه دارای مقدار ثابتی میباشد.
در نتیجه در فناوریهای امروزی تغییرپذیری بسیار مهم است ولی اکثر کارهایی که در زمینه محاسبات تقریبی انجام شدهاند، اثرات تغییرپذیری را روی روشهای پیشنهادی مورد ارزیابی قرار ندادهاند. در این مقاله اثرات تغییرپذیری را روی تمامجمعکنندههای تقریبی مورد ارزیابی قرار خواهیم داد. با توجه به [6] تا [9]، ولتاژ آستانه مهمترین پارامتر در تغییرپذیری فناوریهای جدید بوده و اثرات تغییرپذیری D2D در کاربردهای تحملپذیر عدم دقت حدوداً 2 الی 3 برابر اثرات تغییرپذیری WID میباشد [10]. به همین دلیل در این مقاله اثر تغییرپذیری قالب به قالب پارامتر ولتاژ آستانه را روی کارایی واحدهای تقریبی مورد بررسی قرار خواهیم داد.
خلاصه نوآوریهای مقاله به صورت زیر است:
1) ارائه دو تمامجمعکننده تقریبی جدید به اسم 1APFA و 2APFA که نسبت به تمامجمعکنندههای تقریبی موجود خطای کمتری دارند.
2) برای تمامجمعکنندههای تقریبی، اثرات تغییرپذیری روی توان، تأخیر و حاصلضرب- توان- تأخیر 18(PDP) مورد ارزیابی قرار
گرفته است. برای این منظور اثرات تغییرپذیری D2D روی ولتاژ آستانه ترانزیستورها در فناوری 32 نانومتر با استفاده از شبیهسازی مونتکارلو19 در محیط اچاسپایس20 مورد ارزیابی قرار است.
3) همچنین با استفاده از 1APFA و 2APFA جمعکنندهای تقریبی مبتنی بر RCA ارائه مینماییم که در کاربردهای واقعی بهترین عملکرد را دارا است.
در ادامه مقاله و در بخش 2 به شرح کارهای انجامشده در زمینه جمعکنندههای تقریبی و تمامجمعکنندههای تقریبی پرداخته خواهد شد. در بخش 3 تمامجمعکنندههای تقریبی پیشنهادی شرح داده میشوند. در بخش 4 ساختار جمعکننده تقریبی پیشنهادی ارائه گردیده و به ارزیابی کارایی، خطا و اثرات تغییرپذیری جمعکنندههای تقریبی پرداخته خواهد شد. در بخش 5 نتایج شبیهسازیها روی کاربردهای پردازش تصویر ارائه خواهد گردید و نهایتاً در بخش 6 به جمعبندی و نتیجهگیری پرداخته شده است.
2- کارهای پیشین
جمعکنندهای تقریبی با قابلیت تنظیم دقت در [11] و [12] ارائه شده است. برای این کار یک تمامجمعکننده و یک نیمجمعکننده با قابلیت ماسککردن کری ارائه گردیده و از آن در ساختار RCA استفاده شده است. برای تنظیم دقت، مداری به منظور تصحیح خطا ارائه شده که در صورت نیاز فعال میگردد. در [13] یک جمعکننده تقریبی به نام LOA ارائه شده که در قسمت تقریبی آن از گیت 2Or برای محاسبه Sum استفاده گردیده و از یک گیت 2And روی پرارزشترین بیت بخش تقریبی برای محاسبه نقلی خروجی به بخش دقیق استفاده میگردد. اگر از این کار فقط برای یک تمامجمعکننده تقریبی استفاده نماییم، خروجی Sum توسط 2Or و خروجی Cout توسط 2And تولید خواهد شد.
در [14] با استفاده از منطق ترانزیستور گذر یک تمامجمعکننده قابل تنظیم در مد دقیق و تقریبی ارائه شده است. از این تمامجمعکننده در ساختار RCA استفاده شده که در مد تقریبی مانند LOA عمل نموده
ولی توان مصرفی را به نصف کاهش میدهد. در [15] به بهینهسازی جمعکننده LOA پرداخته شده است. روشی برای یافتن جمعکنندههای تقریبی هیبرید که از نظر انرژی کارا باشند، برای کاربردهای پردازش تصویر و ویدئو در [16] ارائه شده است. به دلیل آن که هدف این مقاله انجام عملیات ضرب بدون استفاده از ضربکنندههای مرسوم میباشد، عملیات غالب در این کار، شیفت و جمع21 بوده و از جمعکنندههای پیشوندی موازی22 استفاده شده است.
در [17] به تحلیل احتمالی خطای جمعکنندههای تقریبی پرداخته شده و در [18] روشی کارا برای محاسبه خطاهای آماری جمعکنندههای تقریبی مبتنی بر بلاک ارائه گردیده است. یک جمعکننده تقریبی قابل پیکربندی با پیشبینی کری در [19] ارائه شده است. این جمعکننده در دو مد دقیق و تقریبی کار میکند و در فناوری 15 نانومتر فینفت ارزیابی گردیده است. در [20] با استفاده از تمامجمعکنندههای تقریبی به ارائه
یک تبدیل کسینوسی گسسته 23(DCT) تقریبی برای فشردهسازی
تصاویر پرداخته شده است. در این کار ضربکنندههای ممیز شناور، حذف و به جای آن از جمع صحیح و شیفت استفاده شده است.
با حذف برخی از ترانزیستورهای یک تمامجمعکننده آینهای24، در
[21] و [22] به ترتیب 3 و 4 تمامجمعکننده تقریبی ارائه گردیده است. این تمامجمعکنندههای تقریبی به دلیل کاهش خازنهای سوئیچینگ دارای تأخیر و توان مصرفی کمتر و همچنین به دلیل حذف برخی از ترانزیستورها دارای مساحت کمتری نسبت به تمامجمعکننده آینهای دقیق میباشند. این تمامجمعکنندههای تقریبی در چندین حالت نیز خروجیهای نادرست تولید مینمایند. سه نوع تمامجمعکننده تقریبی مبتنی بر XOR و XNOR در [23] ارائه شده و برای پیادهسازی گیتهای XOR و XNOR از منطق ترانزیستورهای گذر25 استفاده گردیده است. سه نوع تمامجمعکننده نادقیق با استفاده از گیتهای استاندارد در [24] ارائه شده ولی برای پیادهسازی گیتهای استاندارد از منطق ترانزیستورهای گذر استفاده نموده است. در دو مقاله قبل، علاوه بر خروجیهای نادرست برای برخی ورودیها، مشکل دیگر این نوع تمامجمعکنندههای تقریبی، افت سطوح ولتاژ به دلیل استفاده از ترانزیستورهای گذر میباشد [25].
در [26]، دو نوع تمامجمعکننده مبتنی بر XOR و MUX ارائه شده که برای پیادهسازی آن از منطق گیت انتقال26 استفاده گردیده که مشکل افت سطوح ولتاژ ترانزیستورهای گذر را ندارد، ولی نسبت به سایر تمامجمعکنندههای نادقیق توان مصرفی بیشتری دارد. در [27] یک نیمجمعکننده، یک تمامجمعکننده و یک فشردهکننده 4 به 2 تقریبی برای ضربکننده آرایهای ارائه شده است. برای این کار برای تولید sum به جای یکی از گیتهای XOR از گیت OR استفاده شده است. برای تولید نقلی نیز از گیتهای AND و OR بین سه ورودی تمامجمعکننده استفاده گردیده است. در [28] یک نیمجمعکننده و یک تمامجمعکننده
[1] این مقاله در تاریخ 13 اسفند ماه 1399 دریافت و در تاریخ 11 اردیبهشت ماه 1401 بازنگری شد. اين تحقيق توسط پژوهشگاه دانشهای بنیادی بر اساس قرارداد شماره 992836574 پشتيباني شده است.
محمد میرزایی، دانشکده مهندسی برق و کامپیوتر، دانشگاه تهران، تهران، ایران، (email: mo.mirzaei@ut.ac.ir).
سیامک محمدي (نویسنده مسئول)، دانشکده مهندسی برق و کامپیوتر، دانشگاه تهران، تهران، ایران، (email: smohamadi@ut.ac.ir).
[2] . Computer Vision
[3] . Imprecision-Tolerant Applications
[4] . Approximate Computing
[5] . Clustering
[6] . Classification
[7] . Approximate Full Adder
[8] . Threshold Voltage
[9] . Process Variation
[10] . Environment Variation
[11] . Processing
[12] . Masking
[13] . Activity Factor
[14] . Within-Die
[15] . Die-to-Die
[16] . Random Dopant Fluctuation
[17] . Wafer
[18] . Power-Delay-Product
[19] . Monte-Carlo
[20] . HSPICE
[21] . Shift and Add
[22] . Parallel Prefix Adders
[23] . Discrete Cosine Transform
[24] . Mirror Adder
[25] . Pass Transistors
[26] . Transmission Gate
جدول 1: جدول درستی و پارامترهای خطا در تمامجمعکنندههای دقیق و تقریبی.
2APFA | 1APFA | 3AFA | 2AFA | 1AFA | LOA | 2TGA | NFAx | VAFA | 3AMA | 2AMA | 1AMA | CMA | Inputs | ||
CS | CS | CS | CS | CS | CS | CS | CS | CS | CS | CS | CS | CS | Cin | B | A |
00 | 00 | 00 | 00 | 01 | 00 | 00 | 01 | 00 | 01 | 01 | 00 | 00 | 0 | 0 | 0 |
01 | 01 | 00 | 00 | 01 | 00 | 01 | 10 | 01 | 01 | 01 | 01 | 01 | 1 | 0 | 0 |
01 | 01 | 01 | 01 | 01 | 01 | 10 | 01 | 01 | 10 | 01 | 10 | 01 | 0 | 1 | 0 |
01 | 01 | 01 | 11 | 01 | 01 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 1 | 1 | 0 |
01 | 01 | 01 | 01 | 01 | 01 | 10 | 01 | 01 | 01 | 01 | 00 | 01 | 0 | 0 | 1 |
11 | 01 | 11 | 11 | 10 | 01 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 1 | 0 | 1 |
10 | 10 | 11 | 11 | 10 | 11 | 10 | 11 | 01 | 10 | 10 | 10 | 10 | 0 | 1 | 1 |
11 | 11 | 11 | 11 | 10 | 11 | 11 | 11 | 10 | 10 | 10 | 11 | 11 | 1 | 1 | 1 |
25/0 | 25/0 | 5/0 | 5/0 | 375/0 | 5/0 | 25/0 | 375/0 | 25/0 | 375/0 | 25/0 | 25/0 | - | ER | ||
125/0 | 125/0 | 312/0 | 312/0 | 229/0 | 312/0 | 25/0 | 312/0 | 104/0 | 292/0 | 167/0 | 25/0 | - | MRED | ||
083/0 | 083/0 | 167/0 | 167/0 | 125/0 | 125/0 | 083/0 | 125/0 | 083/0 | 125/0 | 083/0 | 083/0 | - | NMED |
تقریبی با استفاده از گیتهای 2NAND ارائه شده است. طبق نتایج ارائهشده در مقاله، این تمامجمعکننده ارائهشده از نظر انرژی وضعیت خوبی دارد ولی از نظر خطا، جزء بدترین طراحیهای موجود میباشد. در [10] نیز 3 تمامجمعکننده تقریبی در منطق CMOS ارائه شده و برای اولین بار اثرات تغییرپذیری را روی تمامجمعکننده تقریبی مورد ارزیابی قرار گرفته است.
همچنین اخیراً کارهای زیادی در زمینه واحدهای محاسباتی تقریبی به خصوص تمامجمعکنندههای تقریبی در فناوریهای ترانزیستور اثر میدانی نانولوله کربنی 1(CNFET) و پیوند تونل مغناطیسی 2(MTJ) انجام
شده است. تمرکز این مقاله روی فناوریهای ماسفت بوده و فناوریهای فوق، خارج از حوزه کاری آن میباشد ولی به برخی از این کارها اشاره مختصری خواهیم داشت. در [29] و [30]، دو تمامجمعکننده تقریبی با استفاده از CNFET، ارائه و از آن در ساختار الگوریتمهای تشخیص حرکت و تشخیص لبه استفاده شده است. همچنین یک تمامجمعکننده تقریبی با استفاده از CNFET در هر یک از [31] و [32]، ارائه و از آن
در ساختار الگوریتم ترکیب تصویر3 استفاده گردیده است. در [33]، دو تمامجمعکننده تقریبی با استفاده از فناوری MTJ برای کاربردهای محاسبه در حافظه4 ارائه شده و همچنین یک تمامجمعکننده تقریبی با استفاده از فناوری MTJ در [34] آمده است.
تمامجمعکنندههای تقریبی ارائهشده در مقالات فوق، از نظر توان مصرفی، تأخیر، دقت و مساحت با هم متفاوت هستند و جز [9] و [10]، هیچ یک از دیگر مقالات اثرات تغییرپذیری را در نظر نگرفتهاند. هدف ما ارزیابی تمامجمعکنندههای تقریبی از نظر کارایی (توان، تأخیر و PDP)، خطا و بررسی اثرات تغییرپذیری بوده و همچنین ارائه تمامجمعکنندههای تقریبی با خطای کم، کارایی قابل قبول و آگاه از تغییرپذیری میباشد.
3- تمامجمعکنندههای تقریبی پیشنهادی
در یک تمامجمعکننده تقریبی با توجه به سه ورودی دودویی، هشت حالت خروجی امکانپذیر است. با افزایش تعداد حالات نادرست خروجی، دقت، پیچیدگی طراحی و توان کاهش یافته و با کاهش تعداد حالات نادرست خروجی، دقت، پیچیدگی طراحی و توان افزایش مییابد. با توجه به تمامجمعکنندههای تقریبی موجود و ارزیابیهای انجامشده در این مقاله، زمانی که 2 حالت از 8 حالت خروجی نادرست باشد، مصالحه مناسبی بین دقت، پیچیدگی طراحی و توان مصرفی وجود خواهد داشت. در این مقاله با توجه به این مشاهده، تمامی حالاتی را که میتوان یک تمامجمعکننده تقریبی با 2 حالت خروجی نادرست از 8 حالت ممکن داشت، مورد ارزیابی قرار دادیم. برای این کار یک جمعکننده 8بیتی مبتنی بر RCA با فرض در نظر گرفته و از تمامجمعکنندههای تقریبی در ساختار آن استفاده نمودیم.
با اعمال تمامی حالات ورودی ممکن برای جمعکننده، بهترین تمامجمعکنندههای تقریبی از نظر پارامترهای خطا را جستجو نمودیم. حاصل این کار دو تمامجمعکننده تقریبی 1APFA و 2APFA است که از نظر پارامترهای خطا بهتر از همه تمامجمعکنندههای تقریبی موجود میباشند. جدول درستی این تمامجمعکنندههای تقریبی در جدول 1 ارائه شده است. در ادامه برای پیادهسازی این تمامجمعکنندههای تقریبی در سطح ترانزیستور، طراحیهای گوناگونی را ارزیابی و بهترین طراحی را از نظر مصالحه بین پارامترهای توان، تأخیر و PDP انتخاب نمودهایم. شکل 1 ساختار سطح ترانزیستور این دو تمامجمعکننده تقریبی پیشنهادی را نشان میدهد. روابط منطقی این تمامجمعکنندههای تقریبی در (1) و (2) ارائه شده است
(1)
(2)
با توجه به شکل، برای پیادهسازی خروجی Sum در 1APFA و 2APFA از گیت 2XNOR در منطق ترانزیستور گذر5 استفاده شده است. منطق ترانزیستور گذر دارای 2 مشکل میباشد که عبارت هستند از: توان ایستا و مسئله کاهش/ افزایش سطح ولتاژ. با توجه به این که تنها از دو ترانزیستور گذر در طراحی تمامجمعکنندههای پیشنهادی استفاده شده است، لذا توان ایستای بالایی نداشته و توان مصرفی کل این طراحیها قابل قبول است (بر اساس نتایج ارائهشده در فناوری 65 نانومتر برای تمامجمعکنندههای تقریبی مبتنی بر ترانزیستور گذر دارای 6 الی 8 ترانزیستور، توان ایستا حدود 2 درصد از توان مصرفی کل را شامل میشود [23]). برای حل
(الف)
(ب)
شکل 1: تمامجمعکنندههای تقریبی پیشنهادی، (الف) 1APFA و (ب) 2APFA.
مسئله کاهش/ افزایش سطح ولتاژ در ترانزیستور گذر، از گیت 2Nand در منطق CMOS در خروجی این مدارها استفاده شده و از این رو کاهش یا افزایش در سطح ولتاژ را اصلاح خواهد نمود.
با توجه به (1)، تمامجمعکننده تقریبی 1APFA برای محاسبه Cout به نقلی طبقه قبل نیازی ندارد و به همین دلیل تأخیر مسیر بحرانی جمعکنندههایی که از این تمامجمعکننده تقریبی استفاده مینمایند،
کمتر میباشد. در جدول 1، تمامجمعکنندههای تقریبی را از نظر دقت با تمامجمعکننده دقیق، مقایسه و جدول درستی آنها را ارائه نمودهایم. در این جدول ستونهای CS بیانگر بیتهای خروجی تمامجمعکننده بوده که بیت کمارزش (سمت راست) متعلق به حاصلجمع (S) و بیت پرارزش (سمت چپ) متعلق به نقلی (C) میباشد. هر گاه خروجی تمامجمعکننده تقریبی نادرست باشد، بیت متناظر با آن در ستون CS جدول 1 با رنگ قرمز مشخص میگردد.
در این مقاله از تمامجمعکننده دقیق آینهای ارائهشده در [22] به عنوان طراحی پایه استفاده میگردد که در ادامه مقاله با نام CMA شناخته خواهد شد و 10 تمامجمعکننده تقریبی مختلف از مقالات دیگر مورد ارزیابی قرار خواهند گرفت. نامهای اختصاری آنها در این مقاله عبارت هستند از: 1AMA، 2AMA، 3AMA، VAFA، NFAx، 2TGA، LOA، 1AFA، 2AFA و 3AFA. تمامجمعکنندههای تقریبی AMA از [22]، تمامجمعکننده تقریبی VAFA از [27]، تمامجمعکننده تقریبی NFAx از [28]، تمامجمعکننده تقریبی 2TGA از [26]، تمامجمعکننده تقریبی LOA از [13] و تمامجمعکنندههای تقریبی AFA از [10]
اخذ گردیده است. با توجه به نتایج ارائهشده [10]، به دلیل این که تمامجمعکنندههای AXA و InXA [23] و [24] دارای مشکلات افت ولتاژ، پارامترهای خطای قابل توجه و حساسیت زیاد نسبت به تغییرپذیری میباشند، در این مقاله مقایسهای با کارهای ذکرشده نخواهیم داشت.
برای ارزیابی خطا با توجه به [22] از سه پارامتر نرخ خطا 6(ER)،
جدول 2: مقادیر پارامترهای فناوری 32 نانومتر و معکوسکننده پایه.
nm 6/12 | Leff | V 9/0 | Vdd | nm 32 | Tech |
nm 64 | 2Wn=Wp/ | V 16/0 | Vth | TT | Process |
nm 32 | Ln=Lp | nm 1 | Tox | °C 25 | Temp |
میانگین فاصله خطای نرمالشده 7(NMED) و میانگین نسبی فاصله خطا 8(MRED) استفاده گردیده است. در ادامه هر یک از این پارامترها شرح داده خواهند شد. در این روابط بیانگر تعداد کل حالتهای ورودی است
(3)
(4)
(5)
در 3 سطر آخر جدول 1، مقادیر پارامترهای خطا برای تمامجمعکنندههای تقریبی ارائه شده است. برای محاسبه MRED برای تمامجمعکنندههای تقریبی مانند 2AMA، 3AMA، NFAx و 1AFA با توجه به این که برای حالت ورودیهای دارای خطا میباشیم و با توجه به (5)، مقدار RED در این حالت بینهایت میگردد ولی ما در این حالت مقدار RED را 1 فرض مینماییم. با توجه به جدول 1، کمترین میزان خطا متعلق به VAFA بوده و پس از آن 1APFA و 2APFA هر دو در جایگاه دوم قرار دارند.
3-1 ارزیابی کارایی تمامجمعکنندههای تقریبی
در این بخش یک تمامجمعکننده دقیق آینهای و 12 تمامجمعکننده تقریبی را از نظر پارامترهای توان مصرفی، تأخیر، PDP و مساحت با
هم مقایسه میکنیم. برای این کار از شبیهساز HSPICE در فناوری 32 نانومتر PTM [35] استفاده شده است. برای خازن بار در خروجیهای تمامجمعکنندهها از 4 معکوسکننده استفاده نموده و در عمل هر خروجی تمامجمعکننده، 4 معکوسکننده را درایو میکند. منظور از مساحت، تعداد ترانزیستورهای موجود در آن تمامجمعکننده میباشد. در جدول 2، مقادیر پارامترهای فناوری 32 نانومتر (ولتاژ تغذیه، ولتاژ آستانه، طول مؤثر کانال، دما و ضخامت اکسید گیت) و همچنین پهنا و طول ترانزیستورهای نوع P و نوع N برای معکوسکننده پایه ارائه شده است.
برای به دست آوردن توان، تأخیر و PDP، تمامی حالتهایی را که ورودیهای تمامجمعکننده میتوانند داشته باشند به عنوان سناریوهای ورودی به آن داده و مقدار میانگین و ماکسیمم را در جدول 3 ارائه نمودهایم. مثلاً سناریوی اول، تغییر ورودی از حالت
به حالت است، سناریوی دوم تغییر ورودی از حالت به حالت بوده و به همین ترتیب تا سناریوی آخر که تغییر ورودی از حالت به حالت
[1] . Carbon Nanotube Field-Effect Transistor
[2] . Magnetic Tunnel Junction
[3] . Image Blending
[4] . Computing-in-Memory
[5] . Pass Transistor Logic
[6] . Error Rate
[7] . Normalized Mean Error Distance
[8] . Mean Relative Error Distance
جدول 3: توان، تأخیر، PDP متوسط و ماکسیمم و مساحت تمامجمعکنندهها.
FAs | Power (µw) | Delay (ps) | PDP (aj) | Area | |||
Avg | Max | Avg | Max | Avg | Max | # of Tran | |
CMA | 04/6 | 63/10 | 81/24 | 00/40 | 69/151 | 72/287 | 28 |
1AMA | 24/4 | 80/6 | 73/18 | 59/33 | 21/82 | 88/189 | 20 |
2AMA | 77/3 | 89/4 | 55/21 | 37/28 | 98/80 | 31/118 | 14 |
3AMA | 36/3 | 31/4 | 76/20 | 46/25 | 52/69 | 62/100 | 11 |
VAFA | 89/6 | 15/11 | 58/27 | 41/43 | 80/205 | 06/454 | 24 |
NFAx | 25/3 | 89/4 | 66/14 | 35/19 | 16/47 | 45/76 | 14 |
2TGA | 59/4 | 65/7 | 48/19 | 60/39 | 10/100 | 11/286 | 22 |
LOA | 77/2 | 02/5 | 69/13 | 12/17 | 46/38 | 74/78 | 12 |
1AFA | 01/2 | 58/2 | 59/12 | 15/19 | 66/25 | 76/47 | 8 |
2AFA | 78/3 | 55/6 | 57/15 | 52/21 | 30/59 | 30/117 | 18 |
3AFA | 76/2 | 99/4 | 75/13 | 15/19 | 45/38 | 13/73 | 14 |
1APFA | 33/3 | 86/7 | 15/15 | 59/26 | 72/54 | 08/209 | 16 |
2APFA | 53/3 | 88/7 | 96/14 | 45/26 | 75/56 | 27/208 | 18 |
میباشد. در بازههای زمانی 250 پیکوثانیهای، سناریوها را تغییر میدهیم و با توجه به این که حداکثر تأخیر کمتر از 50 پیکوثانیه میباشد، در نتیجه زمان قابل توجهی (بیش از 150 پیکوثانیه) ورودیها و خروجیهای مدار ثابت بوده و از این طریق توان ایستا نیز در توان مصرفی کل لحاظ شده است.
برای گزارش تأخیر، از بین تأخیر Sum و Cout بزرگترین را به عنوان تأخیر آن تمامجمعکننده لحاظ میکنیم. در جدول 3 مقادیری که با رنگ سبز مشخص شدهاند بیانگر بهترین مقدار، مقادیری که با رنگ آبی مشخص شدهاند بیانگر دومین بهترین مقدار و مقادیری که با رنگ قرمز مشخص شدهاند بیانگر بدترین مقدار هستند (این قرارداد برای تمامی جداول بعدی نیز صادق است). بر اساس جدول 3 کمترین؛ توان متوسط، توان ماکسیمم، تأخیر متوسط، PDP متوسط و PDP ماکسیمم متعلق
به 1AFA بوده و کمترین تأخیر ماکسیمم متعلق به LOA میباشد. از نظر مساحت نیز 1AFA با 8 ترانزیستور کمترین مساحت را دارا است. بیشترین مقدار توان، تأخیر، PDP و مساحت متعلق به VAFA بوده و علتش این است که در این تمامجمعکننده تقریبی از گیت 2XOR در منطق CMOS استفاده شده که نسبت به گیتهای سادهتری مانند 2And و 2Or دارای توان و تأخیر بیشتری میباشد. با توجه به جدول 3، 1AFA نسبت به CMA توان متوسط، تأخیر متوسط، PDP متوسط و مساحت را به میزان 72/66%، 24/49%، 09/83% و 43/71% کاهش میدهد. 1APFA نسبت به CMA توان متوسط، تأخیر متوسط، PDP متوسط و مساحت را به میزان 80/44%، 92/38%، 93/63% و 86/42% کاهش میدهد. همچنین 2APFA نسبت به CMA توان متوسط، تأخیر متوسط، PDP متوسط و مساحت را به میزان 52/41%، 69/39%، 59/62% و 71/35% کاهش میدهد.
با توجه به جدول 1، تمامجمعکنندههای تقریبی VAFA، 1APFA و 2APFA از نظر ER و NMED یکسان هستند ولی از نظر MRED وضعیت VAFA از بقیه بهتر است. اما بر اساس جدول 3، VAFA از نظر توان، تأخیر، PDP و مساحت، بدترین وضعیت را دارد و نمیتواند انتخاب مناسبی برای کاربردهای تحملپذیر عدم دقت باشد. بر اساس جداول 1 و 3، هیچ تمامجمعکننده تقریبی وجود ندارد که از نظر توان، تأخیر، PDP و دقت همواره بهتر از بقیه باشد. در نتیجه باید از این تمامجمعکنندههای تقریبی در ساختارهای بزرگتری مانند RCA و یا الگوریتمهای پردازش تصویر استفاده شود تا بتوان نتیجهگیری قابل اعتمادی را ارائه نمود. این کار در بخشهای بعد انجام شده است.
3-2 ارزیابی اثرات تغییرپذیری روی تمامجمعکنندههای تقریبی
در این بخش تمامجمعکنندههای تقریبی را از نظر اثرات تغییرپذیری، ارزیابی خواهیم کرد. با توجه به [6]، [9] و [10]، ولتاژ آستانه مهمترین پارامتر در تغییرپذیری فناوریهای جدید بوده و اثرات تغییرپذیری D2D حدوداً 2 الی 3 برابر اثرات تغییرپذیری WID میباشد [10]. به همین دلیل در این مقاله اثرات تغییرپذیری فرایند D2D پارامتر روی تمامجمعکنندهها مورد ارزیابی قرار خواهند گرفت. تمامی شبیهسازیها در فناوری 32 نانومتر PTM با استفاده از HSPICE انجام شده است و
برای ارزیابی اثرات تغییرپذیری از شبیهسازی 1024نقطهای مونتکارلو در HSPICE استفاده گردیده است.
میزان تغییرات نسبت به حالت نامینال را 20 درصد با توزیع گوسی در نظر خواهیم گرفت که این فرض در بقیه بخشهای این مقاله نیز
در نظر گرفته میشود. برای ارزیابی اثرات تغییرپذیری پارامتر روی تمامجمعکنندههای مختلف، تمامی سناریوهای ورودی ممکن را اعمال مینماییم. مثلاً برای هر یک از سناریوها، یک شبیهسازی مونتکارلوی 1024نقطهای اجرا شده و مقادیر توان، تأخیر و PDP به دست آمده و میزان اثرات تغییرپذیری توان، تأخیر و PDP محاسبه میشود (نحوه محاسبه تغییرپذیری در ادامه آمده است). نهایتاً میانگین تغییرپذیری این سناریوها به عنوان تغییرپذیری نهایی در نظر گرفته میشود. برای ارزیابی اثرات تغییرپذیری از برخی فرمولهای ریاضی بر اساس [6] استفاده مینماییم. به همین منظور با استفاده از شبیهسازی مونتکارلو و توزیع گوسی برای پارامتر ، مقادیر توان، تأخیر و PDP را به دست میآوریم. بر اساس فرمولهای زیر، ابتدا میانگین ، واریانس1 و انحراف معیار2 هر یک از ملاکهای کارایی (توان، تأخیر و PDP) را بر اساس نتایج حاصل از شبیهسازیها، محاسبه نموده و سپس با استفاده از (6) ضریب تغییرپذیری را به دست میآوریم. ابتدا
[1] . Variance
[2] . Standard Deviation
جدول 4: میانگین اثرات تغییرپذیری D2D ولتاژ آستانه روی توان، تأخیر و PDP تمامجمعکنندهها.
FAs | Power (µw) | Delay (ps) | PDP (aj) | ||||||
Mean | S.D | C.V (%) | Mean | S.D | C.V (%) | Mean | S.D | C.V (%) | |
CMA | 56/6 | 94/1 | 56/29 | 50/27 | 15/7 | 00/26 | 94/177 | 6477/47 | 77/26 |
1AMA | 68/4 | 64/1 | 1/35 | 43/20 | 68/4 | 89/22 | 15/96 | 43/27 | 53/28 |
2AMA | 07/4 | 11/1 | 14/27 | 72/23 | 83/5 | 59/24 | 66/94 | 04/28 | 62/29 |
3AMA | 64/3 | 01/1 | 278827 | 63/22 | 18/5 | 89/22 | 66/80 | 37/23 | 98/28 |
VAFA | 53/7 | 56/2 | 96/33 | 56/30 | 62/7 | 87/24 | 50/243 | 41/99 | 83/40 |
NFAx | 62/3 | 36/1 | 52/37 | 37/15 | 05/3 | 36/19 | 09/55 | 96/16 | 87/30 |
2TGA | 30/5 | 00/3 | 67/56 | 23/21 | 99/4 | 48/23 | 34/120 | 64/57 | 90/47 |
LOA | 10/3 | 25/1 | 33/40 | 79/14 | 05/3 | 59/20 | 34/45 | 78/14 | 59/32 |
1AFA | 24/2 | 79/0 | 46/35 | 54/13 | 70/2 | 96/19 | 18/30 | 84/9 | 61/32 |
2AFA | 17/4 | 50/1 | 89/35 | 01/17 | 89/3 | 88/22 | 78/69 | 10/22 | 67/31 |
3AFA | 13/3 | 37/1 | 66/43 | 90/14 | 14/3 | 07/21 | 93/45 | 48/16 | 89/35 |
1APFA | 63/3 | 74/1 | 98/47 | 60/17 | 26/4 | 96/24 | 32/65 | 280328 | 91/42 |
2APFA | 87/3 | 79/1 | 17/46 | 88/16 | 07/4 | 14/24 | 49/68 | 33/20 | 37/41 |
شبیهسازی مونتکارلوی 1024نقطهای برای سناریوهای ورودی انجام شده و مثلاً برای سناریوی 1، 1024 مقدار برای توان، 1024 مقدار برای تأخیر و 1024 مقدار برای PDP به دست میآید. برای آن که تغییرپذیری توان برای سناریوی 1 را محاسبه نماییم، ابتدا میانگین و انحراف معیار این 1024 مقدار توان را محاسبه نموده و با (7) مقدار توان را به دست میآوریم و به همین ترتیب بر اساس 1024 مقدار تأخیر و 1024 مقدار PDP، مقادیر تأخیر و PDP را به دست میآوریم. این کار برای
همه سناریوهای ورودی انجام شده و در نهایت میانگین های توان، میانگین های تأخیر و میانگین های PDP محاسبه میشود. برای تمامجمعکنندههای با میانگین تقریباً برابر، هرچه ضریب تغییرپذیری عدد کوچکتری باشد، بیانگر تأثیر کمتر تغییرپذیری روی آن تمامجمعکننده خواهد بود. در نتیجه آن تمامجمعکننده از نظر مقاومت در برابر تغییرپذیری بسیار مناسب است
(6)
(7)
(8)
(9)
بر اساس راهنمای HSPICE، رابطه بین خطای نسبی با تعداد تکرارهای مونتکارلو به صورت زیر میباشد
(10)
با توجه به (10) و با در نظر گرفتن تعداد تکرارهای مونتکارلو برابر با 1024، مقدار خطای نسبی حدود 1/3% میشود. بر اساس راهنمای HSPICE، اگر مداری در تمامی این 1024 تکرار درست کار کند، آن گاه با احتمال 99%، این مدار برای بیش از 9/96% از مقادیر کامپوننتهای ممکن نیز درست کار خواهد کرد. بر اساس شبیهسازیهای انجامشده
در این مقاله، وقتی تعداد تکرارهای مونتکارلو را 10000 انتخاب کنیم، مقادیر میانگین، انحراف معیار و ضریب تغییرپذیری بین تا نسبت به حالت شبیهسازی با 1024 تکرار، تفاوت خواهند داشت که این میزان تفاوت ناچیز بوده و میتوان دقت شبیهسازی مونتکارلوی هر دو حالت را تقریباً یکسان در نظر گرفت. اما زمان شبیهسازی مونتکارلو با 10000 تکرار، تقریباً 10 برابر بیشتر میباشد و از این رو در این مقاله تعداد تکرارها را 1024 در نظر گرفتهایم.
نتایج حاصل از ارزیابی تغییرپذیری D2D پارامتر روی توان، تأخیر و PDP تمامجمعکنندهها در جدول 4 ارائه شده است. همان گونه که در این جدول مشاهده میشود، تغییرپذیری موجب افزایش میانگین توان، تأخیر و PDP تمامجمعکنندهها میگردد. کمترین اثرات تغییرپذیری توان، تأخیر و PDP به ترتیب متعلق به 2AMA، NFAx و 1AMA با میزان به ترتیب 14/27%، 36/19% و 53/28% میباشد. بیشترین اثرات تغییرپذیری توان و PDP متعلق به 2TGA با میزان به ترتیب 67/56% و 90/47% بوده و بیشترین اثرات تغییرپذیری تأخیر متعلق به 1APFA با 96/24% میباشد.
از دلایل حساسیت بالای مدارهای 2TGA، 1APFA و 2APFA در برابر تغییرپذیری، به طراحی سطح ترانزیستور این تمامجمعکنندهها مربوط است. در طراحی 2TGA از گیتهای انتقال و در طراحی بخشی از 1APFA و 2APFA از ترانزیستور گذر استفاده شده است. گیتهای انتقال و ترانزیستور گذر به تغییرپذیری حساس بوده و از این رو مقادیر در مدارهای فوق نسبت به سایر مدارها بیشتر میباشد. در طراحی بخش اول از خروجی Sum در 1APFA و 2APFA از ترانزیستور گذر استفاده شده که این ترانزیستورها دارای مشکل کاهش/ افزایش سطح ولتاژ بوده و در برابر تغییرپذیری نیز بسیار حساس میباشند. با استفاده از گیت 2Nand در منطق CMOS در بخش دوم خروجی Sum، مشکل کاهش/ افزایش سطح ولتاژ کاملاً برطرف شده و حساسیت به تغییرپذیری نیز تا حدی کاهش مییابد.
در مورد 1APFA و 2APFA دلیل دوم برای بالابودن مقدار ، مقادیر نسبتاً کم برای میانگین توان، تأخیر و PDP میباشد. به عنوان مثال 1APFA و 2AMA از نظر PDP، انحراف معیار تقریباً مشابهی دارند (03/28 و 04/28) اما مقدار میانگین در 1APFA بسیار کمتر از 2AMA است (32/65 در برابر 66/94). این مسئله به دلیل وجود معدود نقاطی در شبیهسازی مونتکارلو میباشد که مقادیر توان، تأخیر یا PDP بسیار کمی نسبت به مقدار میانگین داشته و از این رو موجب افزایش انحراف معیار و در نتیجه افزایش مقدار میگردد. بر اساس مشاهدات انجامشده روی نتایج حاصل از شبیهسازی مونتکارلو، برخی سناریوهای خاص ورودی دارای ضریب تغییرپذیری بسیار بزرگ میباشند که همین سناریوهای خاص، باعث افزایش میانگین ضریب تغییرپذیری میگردند. زمانی که از این تمامجمعکنندههای تقریبی در کاربردهای واقعی استفاده میشود، به ازای برخی ورودیها احتمال رخداد این سناریوها کمتر بوده
و میزان تغییرپذیری این تمامجمعکنندههای تقریبی به تغییرپذیری سایر تمامجمعکنندههای تقریبی نزدیک میگردد.
4- ارزیابی جمعکننده RCA تقریبی با استفاده
از تمامجمعکنندههای تقریبی
در این بخش قصد داریم از تمامجمعکنندههای تقریبی بررسیشده در بخش قبل، در ساختار جمعکننده RCA استفاده نموده و در این حالت کارایی، خطا و اثرات تغییرپذیری را مورد ارزیابی قرار دهیم. در مقالاتی که به ارائه تمامجمعکننده تقریبی میپردازند، معمولاً از آن در ساختار جمعکننده با انتشار نقلی 1(RCA) استفاده مینمایند و به دلیل ساختار جمعکننده با پیشبینی رقم نقلی 2(CLA)، نمیتوان از تمامجمعکننده تقریبی در این جمعکنندهها استفاده نمود (در CLA معمولاً از گیتهای Xor، And و Or استفاده میشود). همچنین جمعکننده RCA از نظر توان مصرفی بهتر از CLA است ولی از نظر تأخیر CLA بهتر میباشد. در نتیجه با توجه به قابلیت استفاده مستقیم از واحدهای تمامجمعکننده تقریبی در ساختار جمعکننده RCA، در این بخش از جمعکننده RCA برای ارزیابی استفاده خواهد شد. برای این منظور یک جمعکننده RCA با 8 بیت طراحی نموده و در بیتهای اول تا چهارم آن از تمامجمعکنندههای تقریبی استفاده مینماییم. در نتیجه 4 دسته مختلف خواهیم داشت که در دسته اول (1NAB) از تمامجمعکنندههای تقریبی تنها در 1 بیت کمارزش، در دسته دوم (2NAB) از تمامجمعکنندههای تقریبی تنها در 2 بیت کمارزش و در دسته چهارم (4NAB) از تمامجمعکنندههای تقریبی در 4 بیت کمارزش استفاده خواهد شد. تعداد بیتهای تقریبی یک جمعکننده را NAB مینامیم. همچنین برای خانوادههای AMA، AFA و APFA برای طراحی RCA، حالتهای مختلف قرارگیری تمامجمعکنندههای از یک خانواده را در کنار هم مورد ارزیابی قرار داده و به دنبال افزایش دقت در کنار کارایی قابل قبول میباشیم.
4-1 ارائه بهترین جمعکننده تقریبی RCA بر اساس خانوادههای AFA و APFA
در این بخش ما ترکیبهای مختلف قرارگیری تمامجمعکنندههای
از یک خانواده را در کنار هم مورد ارزیابی قرار میدهیم. برای یافتن بهترین ترکیب برای RCA به ازای مقادیر مختلف N و NAB، همه حالات ممکن را در نظر گرفته و مقادیر توان، تأخیر و خطا را محاسبه مینماییم. بر اساس نتایج حاصل از شبیهسازیها، ترکیبهای مختلف از تمامجمعکنندههای خانواده AMA همواره منتج به افزایش خطا نسبت به حالتی میشود که فقط از یکی از تمامجمعکنندههای خانواده AMA (حالت تک) در RCA استفاده میشود. به عنوان مثال برای 4NAB بهترین ترکیب از تمامجمعکنندههای تقریبی خانواده AMA در ساختار RCA تقریبی دارای و بوده و این در حالی است که 1AMA در ساختار RCA تقریبی دارای و میباشد.
برخلاف خانواده AMA، در خانواده AFA و APFA همواره حالاتی یافت میشود که موجب کاهش خطا نسبت به حالت تک میگردد. در خانواده AFA، تمامجمعکننده 1AFA و 3AFA از نظر مدار تولید Cout کاملاً مشابه بوده ولی از نظر مدار Sum دقت 1AFA بیشتر میباشد. همچنین توان، تأخیر و PDP در 1AFA کمتر از 3AFA میباشد و به همین دلیل بهترین مصالحه از نظر دقت و کارایی (توان، تأخیر و PDP) زمانی رخ میدهد که در بیتهای کمارزش تقریبی از 3AFA و در پرارزشترین بیت تقریبی از 1AFA استفاده نماییم (به علت دقت بیشتر). این جمعکننده تقریبی را BestAFA مینامیم که نسبت به جمعکنندههای تقریبی ساختهشده از 1AFA تنها و 3AFA تنها، دارای دقت به مراتب بیشتری بوده و از نظر توان، تأخیر و PDP از 3AFA بهتر میباشد. ساختار جمعکننده تقریبی بیتی BestAFA در شکل 2- الف ارائه شده است. با توجه به شکل، برای از 1AFA در کمارزشترین بیت استفاده شده و برای سایر بیتهای از CMA استفاده مینماییم. برای در بیتهای 0 تا از 3AFA، در بیت از 1AFA و در بیتهای NAB تا از CMA استفاده مینماییم.
همچنین برای خانواده APFA روند بالا تقریباً صادق میباشد. تمامجمعکنندههای تقریبی 1APFA و 2APFA از نظر مدار Sum کاملاً مشابه بوده ولی از نظر Cout مدار 2APFA به دلیل استفاده از Cin طبقه قبل، دقیقتر از 1APFA میباشد. در نتیجه بهترین مصالحه بین دقت و کارایی زمانی رخ میدهد که از 2APFA در بیتهای پرارزشتر تقریبی استفاده شود. این جمعکننده تقریبی را BestAPFA مینامیم که نسبت به جمعکنندههای تقریبی ساختهشده از 2APFA تنها، دارای دقت و کارایی بهتری بوده و نسبت به 1APFA برای NABهای کوچک از نظر دقت مثل هم بوده و هرچه میزان NAB افزایش مییابد، میزان دقت BestAPFA بهتر از 1APFA میگردد. از نظر کارایی همواره 1APFA وضعیت بهتری دارد.
ساختار جمعکننده تقریبی بیتی BestAPFA در شکل 2- ب ارائه شده که با توجه به شکل، برای از 1APFA در کمارزشترین بیت استفاده گردیده و برای سایر بیتها از CMA استفاده مینماییم. با توجه به جدول 1، تمامجمعکنندههای تقریبی 1APFA و 2APFA زمانی که باشد، خروجیهایشان دقیق است. همچنین برای جمع دو عدد بدون علامت بوده و در حالت 1NAB تنها کمارزشترین بیت تقریبی بوده و بقیه بیتها دقیق میباشند. در نتیجه در 1APFA و 2APFA برای 1NAB جمعکننده دقیق عمل میکند و به دلیل کارایی بهتر 1APFA برای از آن در ساختار BestAPFA استفاده مینماییم. برای در بیتهای 0 تا از 1APFA، در بیت از 2APFA و در بیتهای NAB تا از CMA استفاده مینماییم.
4-2 ارزیابی کارایی جمعکننده RCA تقریبی
به منظور ارزیابی کارایی (توان، تأخیر و PDP) RCA تقریبی 8بیتی از شبیهساز HSPICE و فناوری nm 32 استفاده مینماییم. برای این کار، مثلاً در RCA تقریبی 8بیتی که بیت کمارزش آن از تمامجمعکننده
[1] . Ripple Carry Adder
[2] . Carry Look-Ahead Adder
(الف)
(ب)
شکل 2: ساختار جمعکنندههای تقریبی پیشنهادی، (الف) BestAFA و (ب) BestAPFA.
تقریبی تشکیل شده است (1NAB)، تمامی حالات (65536 سناریوی ورودی) جمع دو عدد 8بیتی بدون علامت را تحت شبیهسازی قرار داده و مقادیر میانگین و ماکسیمم پارامترهای توان، تأخیر و PDP را به دست میآوریم. این کار برای هر یک از دستههای 2NAB تا 4NAB نیز انجام میگیرد. نتایج حاصل برای 4NAB در جدول 5 ارائه شده است.
با توجه به جدول 5 در RCA تقریبی 8بیتی با 4NAB، از نظر کارایی (توان، تأخیر و PDP)، همواره LOA بهترین بوده و جایگاه دوم متعلق به 1APFA میباشد. بدترین کارایی تقریباً متعلق به VAFA است، به جز تأخیر متوسط که 2AMA بدترین میباشد. چنین نتایجی برای 1NAB تا 3NAB نیز صادق است. کمترین مساحت به ترتیب مربوط به LOA و 1AFA بوده و VAFA بیشترین مساحت را اشغال میکند.
بر اساس نتایج میانگین جدول 5 در مقایسه با CMA، خانواده AMA موجب کاهش توان 25 تا 35 درصدی، کاهش تأخیر 13 تا 26 درصدی و کاهش PDP حدود 35 تا 51 درصدی میگردد. خانواده AFA موجب کاهش توان 22 تا 38 درصدی، کاهش تأخیر 16 تا 26 درصدی و کاهش PDP حدود 35 تا 54 درصدی میگردد. همچنین خانواده APFA موجب کاهش توان 29 تا 41 درصدی، کاهش تأخیر 26 تا 32 درصدی و کاهش PDP حدود 47 تا 59 درصدی میگردد. مثلاً 1APFA موجب کاهش توان، تأخیر و PDP به میزان 72/41%، 91/31% و 17/59% میگردد. از نظر میانگین PDP نسبت به CMA، جمعکنندههای VAFA، NFAx، 2TGA و LOA به ترتیب موجب کاهش 09/33%، 59/55%، 18/55%
و 7/61% میشوند. همچنین از نظر میانگین PDP نسبت به CMA، جمعکنندههای تقریبی BestAFA و BestAPFA به ترتیب موجب کاهش PDP حدود 48/50% و 59/54% میشوند.
4-3 ارزیابی خطای جمعکننده RCA تقریبی
برای ارزیابی خطای جمعکننده RCA تقریبی، در محیط Matlab تمامی حالات ورودی ممکن برای جمع دو عدد 8بیتی بدون علامت را در
جدول 5: توان، تأخیر، PDP متوسط و ماکسیمم و مساحت جمعکنندهها در 4NAB.
Power (µw) | Delay (ps) | PDP (fj) | Area | ||||
Avg | Max | Avg | Max | Avg | Max | # of Tran | |
CMA | 95/20 | 80/24 | 33/127 | 90/296 | 65/2 | 23/5 | 224 |
1AMA | 39/15 | 31/20 | 57/94 | 60/169 | 48/1 | 87/2 | 192 |
2AMA | 66/15 | 34/18 | 39/110 | 60/192 | 71/1 | 73/2 | 168 |
3AMA | 47/13 | 72/17 | 36/93 | 70/170 | 19/1 | 30/2 | 156 |
VAFA | 32/17 | 01/25 | 86/97 | 60/246 | 77/1 | 67/4 | 208 |
NFAx | 66/12 | 72/17 | 49/87 | 70/173 | 17/1 | 56/2 | 168 |
2TGA | 27/13 | 56/17 | 36/87 | 40/163 | 19/1 | 28/2 | 200 |
LOA | 41/11 | 69/15 | 59/86 | 20/161 | 01/1 | 1/89 | 142 |
1AFA | 83/12 | 33/16 | 45/93 | 40/179 | 21/1 | 2/21 | 144 |
2AFA | 21/16 | 46/19 | 75/106 | 90/185 | 72/1 | 2/78 | 184 |
3AFA | 27/14 | 70/17 | 35/93 | 50/179 | 34/1 | 2/45 | 168 |
1APFA | 21/12 | 24/16 | 70/86 | 30/161 | 08/1 | 2/15 | 176 |
2APFA | 71/14 | 45/18 | 85/93 | 70/182 | 39/1 | 2/6 | 184 |
BestAFA | 93/13 | 17/56 | 36/93 | 50/179 | 31/1 | 2/42 | 162 |
BestAPFA | 95/12 | 55/17 | 10/91 | 90/181 | 20/1 | 2/40 | 178 |
نظر گرفته و از پارامترهای خطای ER، NMED و MRED (3) تا (5) استفاده مینماییم. در شکلهای 3 تا 5 پارامترهای خطا نشان داده
شده است. با توجه به جدول 1، تمامجمعکنندههای تقریبی 1APFA و 2APFA زمانی که باشد، خروجیهایشان دقیق هستند. همچنین برای جمع دو عدد بدون علامت بوده و در حالت 1NAB تنها کمارزشترین بیت تقریبی بوده و 7 بیت دیگر دقیق میباشند. در نتیجه در 1APFA، 2APFA و BestAPFA برای 1NAB تمام 8 بیت جمعکننده، دقیق عمل کرده و به همین دلیل در شکلهای 3 تا 5 پارامترهای خطا در 1NAB برای این جمعکنندههای تقریبی برابر صفر میباشند.
بر اساس شکل 3، جمعکنندههای تقریبی 1APFA، 2APFA و BestAPFA کاملاً مشابه هم بوده و کمترین نرخ خطا را به ازای NABهای مختلف دارا هستند. بیشترین نرخ خطا نیز متعلق به NFAx میباشد. با توجه به شکل 4، کمترین خطای NMED در مشترکاً متعلق به 1APFA، 2APFA و BestAPFA است، در کمترین NMED مشترکاً متعلق به 1APFA و BestAPFA بوده و در کمترین NMED متعلق به BestAPFA میباشد. برای به ترتیب 2APFA و 1APFA در جایگاه دوم قرار دارند. بیشترین NMED نیز متعلق به NFAx میباشد. بر اساس شکل 5، کمترین خطای MRED در مشترکاً متعلق به 1APFA، 2APFA و BestAPFA است، در کمترین MRED مشترکاً متعلق به 1APFA و BestAPFA است و در کمترین NMED متعلق به BestAPFA میباشد. برای به ترتیب 2APFA و 1APFA در جایگاه دوم قرار دارند. بیشترین MRED در متعلق به 3AMA بوده و برای متعلق به NFAx میباشد.
با توجه به شکلهای 4 و 5، جمعکننده BestAFA از نظر خطا همواره بهتر از 1AFA و 3AFA میباشد (به جز 1NAB که از نظر خطا مشابه است)، ولی جمعکننده BestAPFA برای از نظر خطا مشابه 1APFA بوده و برای خطای کمتری دارد. هرچه تعداد بیتهای تقریبی را افزایش دهیم، عملکرد BestAPFA از نظر خطا نسبت به 1APFA بهتر شده که علت آن استفاده از 2APFA در پرارزشترین بیت تقریبی BestAPFA میباشد که موجب افزایش دقت برای محاسبه بیت نقلی ورودی به بخش دقیق (CMA) میگردد. جمعکنندههای 2AMA و 3AMA نسبت به خانواده APFA دارای خطای به مراتب بیشتری (خطای حدوداً 2 الی 5/4 برابری دارند) هستند. مثلاً در 2NAB برای 3AMA دارای و برای 1APFA دارای بوده است که بیانگر خطای 5/4 برابری میباشد.
به منظور مقایسه بهتر بین جمعکنندههای تقریبی، کارایی و پارامترهای خطا را یکجا در نظر میگیریم. برای این منظور دو معیار 1PAN و 2PAM را برای جمعکنندههای تقریبی تعریف میکنیم. معیار PAN حاصلضرب سه پارامتر PDP متوسط، مساحت و NMED بوده و معیار PAM حاصلضرب سه پارامتر PDP متوسط، مساحت و MRED است. در طراحی مدارهای تقریبی در صورت امکان همواره دنبال کاهش PDP، مساحت و خطا هستیم. در نتیجه هرچه معیارهای PAN و PAM کوچکتر باشند، بیانگر طراحی بهتری از نظر کارایی و خطا خواهند بود. در جدول 6 مقادیر معیارهای PAN و PAM برای جمعکنندههای تقریبی مختلف به ازای NABهای گوناگون ارائه شده است.
بر اساس جدول 6، برای معیار PAN همواره 1APFA بهترین بوده و جایگاه دوم متعلق به BestAPFA است. بدترین PAN در برای 1AMA، در برای NFAx و در برای 2AFA میباشد. جمعکننده تقریبی BestAFA نسبت به 3AFA به ازای موجب کاهش PAN به ترتیب 72/4%، 88/20%، 21/23% و 43/23% میگردد. در نتیجه BestAFA از نظر مصالحه بین کارایی و دقت نسبت به خانواده AFA بهتر میباشد.
با توجه به جدول 6، جمعکننده تقریبی BestAPFA نسبت به 2APFA به ازای به ترتیب 93/4%، 49/17% و 21/25% موجب کاهش PAN میگردد. در نتیجه BestAPFA از نظر مصالحه بین
شکل 3: نرخ خطای جمعکنندههای 8بیتی مختلف برای NABهای گوناگون.
شکل 4: NMED جمعکنندههای 8بیتی مختلف برای NABهای گوناگون.
شکل 5: MRED جمعکنندههای 8بیتی مختلف برای NABهای گوناگون.
کارایی و دقت نسبت 2APFA بهتر میباشد. با توجه به این که 1APFA و 2APFA در حالت جمع دو عدد بدون علامت برای 1NAB کاملاً دقیق میباشند، در نتیجه مقادیر PAN و PAM متناظر با این حالات برابر صفر است. در مورد معیار PAM نیز روند نتیجهگیریهای فوق صادق میباشد.
4-4 ارزیابی تغییرپذیری جمعکننده RCA تقریبی
به منظور ارزیابی تغییرپذیری فرایند D2D پارامتر روی RCA تقریبی 8بیتی از شبیهساز HSPICE، فناوری nm 32 و شبیهسازی 1024نقطهای مونتکارلو استفاده میکنیم. برای ارزیابی اثرات تغییرپذیری پارامتر روی جمعکنندههای مختلف، تمامی سناریوهای ورودی ممکن را اعمال نموده و اثرات تغییرپذیری توان، تأخیر و PDP با استفاده از (6) تا (9) محاسبه میگردد. در نهایت میانگین تغییرپذیری همه سناریوهای ورودی به عنوان تغییرپذیری نهایی در نظر گرفته میشود. در شکلهای 6 تا 8، مقادیر توان، تأخیر و PDP برای جمعکنندههای مختلف ارائه
شکل 6: اثرات تغییرپذیری روی توان جمعکنندههای تقریبی بهازای NABهای مختلف.
شکل 7: اثرات تغییرپذیری روی تأخیر جمعکنندههای تقریبی بهازای NABهای مختلف.
شکل 8: اثرات تغییرپذیری روی PDP جمعکنندههای تقریبی بهازای NABهای مختلف.
شده است.
بر اساس شکلهای 6 تا 8، با افزایش NAB مقدار تغییرپذیری توان، تأخیر و PDP جمعکنندههای تقریبی افزایش مییابد. با توجه به شکل 6، کمترین تغییرپذیریهای توان به ترتیب متعلق به 2AMA با حدود 1/60 درصد، 2AFA با حدود 4/61 درصد و 1AFA با حدود 64 درصد میباشد. بیشترین تغییرپذیریهای توان به ترتیب متعلق به 2TGA با حدود 5/80 درصد و 1APFA با حدود 75/74 درصد میباشد. بر اساس شکل 7، تغییرپذیری تأخیر جمعکنندههای تقریبی مختلف بسیار به هم نزدیک است، به گونهای که کمترین تغییرپذیری تأخیر متعلق به VAFA با حدود 95/25 درصد و بیشترین آن متعلق به NFAx با 87/26 درصد میباشد. با توجه به شکل 8، کمترین تغییرپذیریهای PDP به ترتیب متعلق به 2AMA با حدود 46/45 درصد، 2AFA با حدود 35/46 درصد و 1AFA با حدود 75/48 درصد میباشد. بیشترین تغییرپذیریهای PDP به ترتیب متعلق به 2TGA با حدود 3/61% و 1APFA با حدود 73/57% است. درصدهایی که در این قسمت گزارش نمودیم، میانگین تغییرپذیریهای
شکل 9: اثرات تغییرپذیری روی PDP کاربرد Sharpening بهازای NABهای مختلف.
شکل 10: اثرات تغییرپذیری روی PDP کاربرد Smoothing بهازای NABهای مختلف.
[1] . PDPxAreaxNMED
[2] . PDPxAreaxMRED
جدول 6: مقادیر معیارهای PAN و PAM برای جمعکنندههای تقریبی 8بیتی مختلف به ازای NABهای گوناگون.
Adders | PAN | PAM | ||||||
1NAB | 2NAB | 3NAB | 4NAB | 1NAB | 2NAB | 3NAB | 4NAB | |
1AMA | 98/4 | 28/7 | 81/9 | 61/13 | 99/13 | 51/20 | 74/27 | 66/38 |
2AMA | 58/2 | 47/6 | 15/12 | 42/20 | 30/7 | 44/18 | 10/35 | 31/60 |
3AMA | 67/4 | 10/8 | 30/12 | 41/10 | 16/13 | 87/22 | 96/34 | 10/50 |
VAFA | 67/2 | 96/6 | 55/13 | 07/27 | 36/7 | 96/18 | 27/36 | 41/70 |
NFAx | 79/4 | 09/10 | 34/15 | 37/22 | 37/13 | 40/28 | 78/43 | 54/65 |
2TGA | 67/4 | 77/5 | 68/7 | 46/10 | 11/13 | 27/16 | 30/22 | 84/29 |
LOA | 21/2 | 03/4 | 28/6 | 11/8 | 08/6 | 02/11 | 94/16 | 42/21 |
1AFA | 29/2 | 98/5 | 27/10 | 81/14 | 48/6 | 96/16 | 41/29 | 20/43 |
2AFA | 63/2 | 85/7 | 51/16 | 98/29 | 25/7 | 50/21 | 69/44 | 45/79 |
3AFA | 41/2 | 70/5 | 05/10 | 54/15 | 63/6 | 60/15 | 15/27 | 06/41 |
1APFA | 0 | 76/1 | 06/4 | 54/6 | 0 | 85/4 | 02/11 | 42/17 |
2APFA | 0 | 00/2 | 24/5 | 62/9 | 0 | 48/5 | 24/14 | 66/25 |
BestAFA | 29/2 | 51/4 | 72/7 | 90/11 | 48/6 | 88/12 | 33/22 | 18/35 |
BestAPFA | 0 | 90/1 | 33/4 | 7217 | 0 | 21/5 | 75/11 | 19/19 |
1NAB تا 4NAB است. از نظر تغییرپذیری توان و PDP، جمعکننده تقریبی BestAFA بهتر از BestAPFA بوده و از نظر تغییرپذیری تأخیر تقریباً مشابه هم هستند.
5- نتایج شبیهسازیها روی کاربردهای
واقعی پردازش تصویر
از کاربردهای پردازش تصویر Smoothing و Sharpening به منظور ارزیابی تمامجمعکنندههای تقریبی استفاده مینماییم [36]. الگوریتم Sharpening از ضربکننده، جمعکننده، تقسیمکننده و تفریقکننده تشکیل شده که در بیشتر مواقع اجرای کاربرد از ضربکننده و جمعکننده استفاده میگردد. الگوریتم Smoothing نیز از ضربکننده، جمعکننده و تقسیمکننده تشکیل گردیده که بیشتر زمان اجرای کاربرد مربوط به ضربکننده و جمعکننده میباشد. در این مقاله از جمعکنندههای تقریبی 14بیتی با ساختار RCA به جای جمعکنندههای دقیق موجود در کاربردهای فوق استفاده شده و سایر واحدها دقیق میباشند.
5-1 ارزیابی تغییرپذیری جمعکنندههای تقریبی روی کاربردهای پردازش تصویر
ابتدا کاربردهای پردازش تصویر Smoothing و Sharpening را در محیط HSPICE پیادهسازی نموده و به جای جمعکنندههای دقیق از جمعکنندههای تقریبی 14بیتی با استفاده مینماییم. 5 تصویر را به عنوان ورودی به آن اعمال مینماییم. تصاویر استفادهشده در مقاله عبارت هستند از Lena، Cameraman، Baboon، House و Rice. استفاده از جمعکنندههای تقریبی در ساختار کاربردهای پردازش تصویر Smoothing و Sharpening موجب کاهش توان، تأخیر و PDP میگردد، ولی با توجه به این که بخش اصلی توان، تأخیر و PDP در این کاربردها متعلق به ضربکننده دقیق است، در نتیجه میزان کاهش نسبت به بخش 2-4 (RCA) کمتر میباشد.
برای ارزیابی اثرات تغییرپذیری فرایند D2D پارامتر روی این کاربردها، از شبیهسازی 1024نقطهای مونتکارلو در فناوری nm 32 استفاده مینماییم. میزان تغییرات نسبت به حالت نامینال را 20% با توزیع گوسی در نظر خواهیم گرفت. میانگین تغییرپذیری همه سناریوهای ورودی به عنوان تغییرپذیری نهایی در نظر گرفته میشود. در شکلهای 9 و 10 اثرات تغییرپذیری روی PDP برای کاربردهای Sharpening و Smoothing به ازای NABهای گوناگون ارائه شده است.
با توجه به شکل 9 برای Sharpening، کمترین مقدار میانگین متعلق به 2AFA با حدود 53/27 درصد و 1AMA با 54/27 درصد میباشد و بیشترین آن متعلق به VAFA با 44/28 درصد است. برای کاربرد Smoothing بر اساس شکل 10، کمترین مقدار میانگین متعلق به 2AMA با حدود 94/29% و 1AFA با 97/29% میباشد و
شکل 11: میانگین PSNR برای 5 تصویر مختلف بهازای NABهای گوناگون در الگوریتم Sharpening.
شکل 12: میانگین MSSIM برای 5 تصویر مختلف بهازای NABهای گوناگون در الگوریتم Sharpening.
بیشترین آن متعلق به VAFA با 32/31 درصد است. همان گونه که در شکلهای 9 و 10 مشاهده میشود در کاربردهای مورد نظر، تغییرپذیری PDP تمامجمعکنندههای تقریبی مختلف تقریباً نزدیک به هم میباشند که علت آن، سهم کمتر جمعکنندههای تقریبی در PDP کاربردهای فوق نسبت به ضربکننده دقیق میباشد. برای نتایج فوق، از سه حالت 2NAB، 4NAB و 6NAB در شکلها میانگین گرفته و آن را به عنوان میانگین در نظر میگیریم.
وقتی شکل 8 را با شکلهای 9 و 10 مقایسه مینماییم، دو تفاوت مشاهده میگردد. اولاً اثرات تغییرپذیری در شکل 8 حدود 50% است، ولی این مقادیر برای شکلهای 9 و 10 حدود 30% میباشد. علت این امر، سهم کمتر جمعکنندههای تقریبی در PDP این کاربردها است، زیرا در این کاربردها ضربکنندهها بیشترین سهم PDP را دارا بوده و در نتیجه میزان کل کاربرد، تأثیر کمتری از جمعکنندههای تقریبی میپذیرد. ثانیاً روند تغییرپذیری در این شکلها یکسان نیست. مثلاً در شکل 8 جمعکنندههای 2TGA و NFAx بیشترین تغییرپذیری را داشتند ولی در کاربردهای فوق معمولاً VAFA بیشترین تغییرپذیری را دارد. علت این تفاوت آن است که تغییرپذیری به ورودی وابسته بوده و ورودیهای جمعکنندههای تقریبی در شکل 8 دارای توزیع یکنواخت هستند، ولی در کاربردهای واقعی فوق و برای تصاویر مختلف، یکنواختی در مقادیر پیکسلهای ورودی وجود ندارد.
5-2 ارزیابی خطای جمعکنندههای تقریبی روی کاربردهای پردازش تصویر
در الگوریتمهای پردازش تصویر مانند Sharpening و Smoothing، برخی از مهمترین پارامترهایی که برای مقایسه روشهای مختلف به کار میروند عبارت هستند از MSE، PSNR و MSSIM که در ادامه شرح
شکل 13: میانگین PSNR برای 5 تصویر مختلف بهازای NABهای گوناگون در الگوریتم Smoothing.
شکل 14: میانگین MSSIM برای 5 تصویر مختلف بهازای NABهای گوناگون در الگوریتم Smoothing.
داده میشوند [37]:
1) میانگین مربع خطا 1(MSE)
(11)
2) حداکثر نسبت سیگنال به نویز 2(PSNR)
(12)
3) میانگین شباهت ساختاری 3(MSSIM)
(13)
در روابط فوق، بیانگر مقدار دقیق پیکسل در سطر و ستون تصویر نتیجه در حالت دقیق و بیانگر مقدار تقریبی پیکسل در سطر و ستون تصویر نتیجه در حالت تقریبی است. و نیز به ترتیب بیانگر اندازه سطر و ستون تصویر میباشند.
به منظور مقایسه تمامجمعکنندههای تقریبی از نظر خطا با یکدیگر، کاربردهای Sharpening و Smoothing را در Matlab پیادهسازی نموده و به جای جمعکنندههای دقیق از جمعکنندههای تقریبی 14بیتی
با استفاده مینماییم. برای ورودی نیز 5 تصویر را به این کاربردها داده و مقدار میانگین PSNR و MSSIM این تصاویر را به ازای در شکلهای 11 تا 14 ارائه نمودهایم. همان گونه که در بخش 3-4 توضیح دادیم، جمعکنندههای
[1] . Mean Square Error
[2] . Peak Signal-to-Noise Ratio
[3] . Mean Structural SIMilarity Index
شکل 15: خروجی کاربرد Sharpening برای تصویر ورودی Lena بهازای 4NAB برای جمعکنندههای تقریبی مختلف.
تقریبی 1APFA و 2APFA در 1NAB برای جمع دو عدد بدون علامت کاملاً دقیق میباشند، به همین دلیل در شکلهای 11 و 13 برای 1NAB این جمعکنندهها مقدار PSNR بینهایت بوده که ما در شکل 11 به جای بینهایت از dB 75 و در شکل 13 به جای بینهایت از dB 65 استفاده نمودهایم. مقدار MSSIM نیز در این حالات برابر 1 است. در نتیجه بیشترین مقدار PSNR و MSSIM برای 1NAB در این کاربردها متعلق به 1APFA، 2APFA و BestAPFA میباشد.
بر اساس شکل 11 در کاربرد Sharpening، برای همواره BestAPFA و برای همواره 2APFA بیشترین PSNR را داشته و جایگاه دوم در برای 1APFA، در برای 2APFA، در برای BestAPFA و در برای 2AMA میباشد. کمترین PSNR در متعلق به 3AMA و در برای VAFA است. با توجه به شکل 12، بیشترین میزان MSSIM در برای BestAPFA، در برای 2APFA و در متعلق به 2TGA میباشد. کمترین میزان MSSIM در برای 3AMA، در برای VAFA و در متعلق به 2APFA است.
بر اساس شکل 13 در کاربرد Smoothing، برای همواره BestAPFA بیشترین PSNR را داشته و جایگاه دوم متعلق
به 2APFA میباشد. کمترین PSNR در مشترکاً متعلق
به 1AMA، 3AMA و 2TGA بوده و در برای NFAx
و در برای VAFA است. با توجه به شکل 14، بیشترین میزان MSSIM در برای BestAPFA و در متعلق به 1APFA میباشد. کمترین میزان MSSIM در برای 1AMA، در برای NFAx، در برای 3AFA و در متعلق به 2AFA است.
برای مقایسه شهودی کیفیت خروجی جمعکنندههای مختلف، در
شکل 15 برای الگوریتم Sharpening و تصویر ورودی Lena به ازای 4NAB، تصاویر خروجی به همراه مقادیر PSNR برای جمعکنندههای مختلف ارائه شده است. روند نمودارهای شکل 11 نیز در این شکل تکرار شده و همان گونه که مشاهده میشود، بیشترین مقدار PSNR متعلق به BestAPFA و 2APFA است. با توجه به این که مقادیر PSNR در این شکل بالا میباشد (حدود 43/51 دسیبل تا 33/61 دسیبل)، از نظر چشم انسان تفاوت چندانی بین این خروجیها وجود ندارد ولی به ازای افزایش تعداد بیتهای بخش تقریبی (افزایش NAB) این تفاوتها نیز به چشم خواهند آمد.
6- نتیجهگیری
در این مقاله دو تمامجمعکننده تقریبی جدید (1APFA و 2APFA) و یک جمعکننده تقریبی (BestAPFA) ارائه شده و اثرات تغییرپذیری فرایند ساخت D2D پارامتر روی تمامجمعکنندههای تقریبی مورد ارزیابی قرار گرفته است. بر اساس نتایج شبیهسازیها، در جمعکننده تقریبی از نظر معیار PAN، بهترین عملکرد متعلق به 1APFA بوده و BestAPFA در جایگاه دوم قرار گرفت. به ازای NABهای مختلف 1APFA نسبت به بدترین جمعکنندههای تقریبی، موجب کاهش PAN حدود 75 تا 83 درصدی میگردد. تمامجمعکنندههای 2TGA و VAFA تغییرپذیری بیشتری نسبت به سایر تمامجمعکنندهها داشته و پس از
آنها تغییرپذیری تمامجمعکنندهها و جمعکنندههای پیشنهادی نیز قابل توجه میباشد. در کاربردهای Sharpening و Smoothing از نظر میانگین PSNR برای 5 تصویر مختلف به ازای NABهای گوناگون، BestAPFA بیشترین PSNR را داشته و 2APFA در جایگاه دوم قرار دارد. همچنین VAFA کمترین PSNR را دارد. در نتیجه از نظر مصالحه بین کارایی، دقت و تغییرپذیری، جمعکننده تقریبی 1APFA برای ورودیهای با توزیع یکنواخت و جمعکننده تقریبی BestAPFA برای کاربردهای واقعی، بهترین عملکرد را دارا میباشند.
مراجع
[1] M. A. Laurenzano, P. Hill, M. Samadi, S. Mahlke, J. Mars, and
L. Tang, "Input responsiveness: using canary inputs to dynamically steer approximation," ACM SIGPLAN Notices, vol. 51, no. 6,
pp. 161-176, Santa Barbara CA, USA, 13 - 17 Jun. 2016.
[2] H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger, "Architecture support for disciplined approximate programming," ACM SIGPLAN Notices, vol. 47, no. 4, pp. 301-312, London UK, 3-7 Mar. 2012.
[3] S. Mittal, "A survey of techniques for approximate computing," ACM Computing Surveys, vol. 48, no. 4, Article ID: 62, 33 pp., May 2016.
[4] H. Jiang, C. Liu, L. Liu, F. Lombardi, and J. Han, "A review, classification, and comparative evaluation of approximate arithmetic circuits," ACM J. on Emerging Technologies in Computing Systems, vol. 13, no. 4, Article ID: 60, pp 1-34, Oct. 2017.
[5] C. Hernandez, A. Roca, F. Silla, J. Flich, and J. Duato, "On the impact of within-die process variation in GALS-based NoC performance," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 31, no. 2, pp. 294-307, Feb. 2012.
[6] M. Mirzaei, M. Mosaffa, and S. Mohammadi, "Variation-aware approaches with power improvement in digital circuits," Integration, the VLSI J., vol. 48, pp. 83-100, Jan. 2015.
[7] M. Mirzaei, M. Mosaffa, S. Mohammadi, and J. Trajkovic, "Power and variability improvement of an asynchronous router using stacking and dual-Vth approaches," in Proc. Euromicro Conf. on Digital System Design, pp. 327-334, Los Alamitos, CA, USA, 4-6 Sert. 2013.
[8] S. M. T. Adl, M. Mirzaei, and S. Mohammadi, "Elastic buffer evaluation for link pipelining under process variation," IET Circuits, Devices & Systems, vol. 12, no. 5, pp. 645-654, Sept. 2018.
[9] M. Mirzaei and S. Mohammadi, "Low-power and variation-aware approximate arithmetic units for Image Processing Applications," AEU-International J. of Electronics and Communications, vol. 138, Article ID: 153825, 13 pp., Aug. 2021.
[10] M. Mirzaei and S. Mohammadi, "Process variation-aware approximate full adders for imprecision-tolerant applications," Computers & Electrical Engineering, vol. 87, Article ID: 106761, 14 pp., Oct. 2020.
[11] T. Yang, T. Ukezono, and T. Sato, "A low-power configurable adder for approximate applications," in Proc. 19th Int. Symp. on Quality Electronic Design, ISQED’18, pp. 347-352, Santa Clara, CA, USA, 13-14 Mar. 2018.
[12] T. Ukezono, "An error corrector for dynamically accuracy-configurable approximate adder," in Proc. 6th Int. Symp. on Computing and Networking Workshops, CANDARW’18, pp. 145-151, Takayama, Japan, 27-30 Nov. 2018.
[13] H. R. Mahdiani, A. Ahmadi, S. M. Fakhraie, and C. Lucas,
"Bio-inspired imprecise computational blocksfor efficient VLSI implementation of soft-computing applications," IEEE Trans. on Circuits and Systems I: Regular Papers, vol. 57, no. 4, pp. 850-862, Apr. 2009.
[14] A. M. Hassani, M. Rezaalipour, and M. Dehyadegari, "A novel ultra low power accuracy configurable adder at transistor level in Proc. 8th Int.Conf. on Computer and Knowledge Engineering, ICCKE’18, pp. 165-170, Mashhad, Iran, 25-26 Oct. 018.
[15] A. Dalloo, A. Najafi, and A. Garcia-Ortiz, "Systematic design of an approximate adder: the optimized lower part constant-or adder," IEEE Trans. on Very Large Scale Integration (VLSI) Systems,
vol. 26, no. 8, pp. 1595-1599, Aug. 2018.
[16] L. B. Soares, M. M. A. da Rosa, C. M. Diniz, E. A. C. da Costa, and S. Bampi, "Design methodology to explore hybrid approximate adders for energy-efficient image and video processing accelerators," IEEE Trans. on Circuits and Systems I: Regular Papers, vol. 66,
no. 6, pp. 2137-2150, Jun. 2019.
[17] S. Mazahir, M. K. Ayub, O. Hasan, and M. Shafique, "Probabilistic error analysis of approximate adders and multipliers," Approximate Circuits: Springerpp. 99-120, Dec. 2019.
[18] Y. Wu, Y. Li, X. Ge, Y. Gao, and W. Qian, "An efficient method for calculating the error statistics of block-based approximate adders," IEEE Trans. on Computers, vol. 68, no. 1, pp. 21-38, Jan. 2018.
[19] O. Akbari, M. Kamal, A. Afzali-Kusha, and M. Pedram, "RAP-CLA: a reconfigurable approximate carry look-ahead adder," IEEE Trans. on Circuits and Systems II: Express Briefs, vol. 65, no. 8, pp. 1089-1093, Nov. 2016.
[20] H. A. Almurib, T. N. Kumar, and F. Lombardi, "Approximate DCT image compression using inexact computing," IEEE Trans. on Computers, vol. 67, no. 2, pp. 149-159, Jul. 2017.
[21] V. Gupta, D. Mohapatra, S. P. Park, A. Raghunathan, and K. Roy, "IMPACT: imprecise adders for low-power approximate computing," in Proc. of the 17th IEEE/ACM Int. Symp. on Low-Power Electronics and Design, pp. 409-414, Fukuoka, Japan, 1-3 Aug. 2011.
[22] V. Gupta, D. Mohapatra, A. Raghunathan, and K. Roy, "Low-power digital signal processing using approximate adders," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 32, no. 1, pp. 124-137, Dec. 2012.
[23] Z. Yang, A. Jain, J. Liang, J. Han, and F. Lombardi, "Approximate XOR/XNOR-based adders for inexact computing," in Proc. 13th IEEE Int. Conf. on Nanotechnology, IEEE-NANO’13, pp. 690-693, Beijing, China, 5-8 Aug. 2013.
[24] H. A. Almurib, T. N. Kumar, and F. Lombardi, "Inexact designs for approximate low power addition bycell replacement," in Proc. Design, Automation & Test in Europe Conf. & Exhibition, DATE’16, , pp. 660-665, Dresden, Germany, 14-18 Mar. 2016.
[25] N. H. Weste and D. Harris, CMOS VLSI Design: A Circuits and Systems Perspective, Pearson Education India, 2015.
[26] Z. Yang, J. Han, and F. Lombardi, "Transmission gate-based approximate adders for inexact computing," in Proc. of the IEEE/ACM Int. Symp. on Nanoscale Architectures, NANOARCH'15, pp. 145-150, Boston, MA, USA, 08-10 Jul. 2015.
[27] S. Venkatachalam and S. B. Ko, "Design of power and area efficient approximate multipliers," IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 25, no. 5, pp. 1782-1786, Jan. 2017.
[28] H. Waris, C. Wang, and W. Liu, "High-performance approximate half and full adder cellsusing NAND logic gate," IEICE Electronics Express, vol.16, no.6, pp. 36-43, Jun. 2019.
[29] Y. S. Mehrabani, S. G. Gigasari, M. Mirzaei, and H. Uoosefian, "A novel highly-efficient inexact full adder cell for motion and edge detection systems of image processing in CNFET technology," ACM J. of Emerging Technologies in Computing System, vol. 18, no. 3, pp. 127-142, Mar. 2022.
[30] Z. Zareei, M. Bagherizadeh, M. Shafiabadi, and Y. S. Mehrabani, "Design of efficient approximate 1-bit full adder cells using CNFET technology applicable in motion detector systems," Microelectronics J., vol. 108, Article ID: 104962, 15 pp., Feb. 2021.
[31] S. H. Shahrokhi, M. Hosseinzadeh, M. Reshadi, and S. Gorgin, "High-performance and low-energy approximate full adder design for error-resilient image processing," International J. of Electronics, vol. 109, no. 6, pp. 1059-1079, Aug. 2021.
[32] Y. S. Mehrabani, M. Parsapour, M. Moradi, and M. Bagherizadeh, "A novel efficient CNFET-based inexact full adder design for image processing applications," International J. of Nanoscience, vol. 20, no. 2, pp. 21-30, Jan. 2015.
[33] S. Salavati, M. H. Moaiyeri, and K. Jafari, "Ultra-efficient nonvolatile approximate full-adder with spin-Hall-assisted MTJ cells for in-memory computing applications," IEEE Trans. on Magnetics, vol. 57, no. 5, pp. 1-11, Mar. 2021.
[34] G. Gulafshan, D. Hasan, and M. Khan, "Fast and Area Efficient Hybrid MTJ-CMOS Spintronic Approximate Adder," in Proc. , 5th IEEE Int. Conf. on Emerging Electronic, ICEE’20, New Delhi, India, 26-28 Nov. 2022.
[35] -, Predictive Technology Model, Retrived on Jan. 2, 2020, http://ptm.asu.edu
[36] H. R. Myler and A. R. Weeks, The Pocket Handbook of Image Processing Algorithms in C, Prentice Hall Press, 2009.
[37] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image quality assessment: from error visibility to structural similarity," IEEE Trans. on Image Processing, vol. 13, no. 4, pp. 600-612, Apr. 2004.
محمد میرزایی تحصيلات خود را در مقطع كارشناسي مهندسی کامپیوتر (گرایش سختافزار) در سال 1388 از دانشگاه مازندران (دانشگاه صنعتی نوشیروانی بابل) و در مقاطع کارشناسی ارشد و دکترا مهندسی کامپیوتر (معماری کامپیوتر) بهترتیب در سالهای 1392 و 1400 از دانشگاه تهران به پايان رسانده است. زمينههاي تحقيقاتي مورد علاقه ايشان عبارتند از: محاسبات تقریبی، تغییرپذیری فرایند، شبکههای روی تراشه، مدارهای آسنکرون و پردازش تصویر.
سیامک محمدی تحصيلات خود را در مقاطع كارشناسي، كارشناسي ارشد و دکترا در رشته الکترونیک به ترتيب در سالهاي 1369، 1371 و 1375 در دانشگاه پاریس 11 (اورسی) در فرانسه به پايان رسانده است و از سال 1384 مشغول فعالیت در دانشكده مهندسي برق و كامپيوتر، دانشگاه تهران است و هم اکنون دانشیار در همین دانشکده است. نامبرده قبل از پيوستن به دانشگاه تهران بین سال های 1375 تا 1378 پژوهشگر در دانشگاه منچستر انگلستان بوده و سپس از 1378 تا 1384 در شرکتهای صنعتی در کانادا مهندس طراح مدارهای مجتمع بوده است. زمينههاي تحقيقاتي مورد علاقه ايشان عبارتند از: طراحی مدارهای کمتوان، معماری کامپیوتر، امنیت سخت افزاری، درستی سنجی مدارهای دیجیتال و طراحی سامانههای مانیتورینگ در حوزه سلامت.