fadad10f12f29fd8f4bf39c2fe1528a3 pmc_10385369.pdf 09c2f95a48a32f70b19737cbe1d3c7b0afab3c81 pmc_10385369.pdf bdeb22a0dde67459e393e83d5dc1ce581b001623b2caec5cdf933d33a3d5e861 pmc_10385369.pdf Title: RisCO2: Implementation and Performance Evaluation of RISC-V Processors for Low-Power CO2 Concentration Sensing Subject: In the field of embedded systems, energy efficiency is a critical requirement, particularly for battery-powered devices. RISC-V processors have gained popularity due to their flexibility and open-source nature, making them an attractive choice for embedded applications. However, not all RISC-V processors are equally energy-efficient, and evaluating their performance in specific use cases is essential. This paper presents RisCO2, an RISC-V implementation optimized for energy efficiency. It evaluates its performance compared to other RISC-V processors in terms of resource utilization and energy consumption in a signal processing application for nondispersive infrared (NDIR) CO2 sensors.The processors were implemented in the PULPino SoC and synthesized using Vivado IDE. RisCO2 is based on the RV32E_Zfinx instruction set and was designed from scratch by the authors specifically for low-power signal demodulation in CO2 NDIR sensors. The other processors are Ri5cy, Micro-riscy, and Zero-riscy, developed by the PULP team, and CV32E40P (derived from Ri5cy) from the OpenHW Group, all of them widely used in the RISC-V community. Our experiments showed that RisCO2 had the lowest energy consumption among the five processors, with a 53.5% reduction in energy consumption compared to CV32E40P and a 94.8% reduction compared to Micro-riscy. Additionally, RisCO2 had the lowest FPGA resource utilization compared to the best-performing processors, CV32E40P and Ri5cy, with a 46.1% and a 59% reduction in LUTs, respectively. Our findings suggest that RisCO2 is a highly energy-efficient RISC-V processor for NDIR CO2 sensors that require signal demodulation to enhance the accuracy of the measurements. The results also highlight the importance of evaluating processors in specific use cases to identify the most energy-efficient option. This paper provides valuable insights for designers of energy-efficient embedded systems using RISC-V processors. Keywords: RISC-V; PULPino; NDIR CO2 sensors; FPGA; energy efficiency; signal demodulation; power consumption Author: Ricardo Núñez-Prieto, David Castells-Rufas and Lluís Terés-Terés Creator: LaTeX with hyperref Producer: pdfTeX-1.40.21 CreationDate: Tue Jul 4 12:22:06 2023 CEST ModDate: Tue Jul 4 12:30:39 2023 CEST Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 14 Encrypted: no Page size: 595.276 x 841.89 pts (A4) Page rot: 0 File size: 933106 bytes Optimized: no PDF version: 1.7 name type encoding emb sub uni object ID ------------------------------------ ----------------- ---------------- --- --- --- --------- TDDOKE+URWPalladioL-Bold Type 1 Custom yes yes no 10 0 ATFDYP+URWPalladioL-Roma Type 1 Custom yes yes no 15 0 IEGABZ+URWPalladioL-Ital Type 1 Custom yes yes no 19 0 BEQZXU+TimesNewRomanPS-BoldItalicMT Type 1C WinAnsi yes yes no 37 0 TZBBDI+SFTT1000 Type 1 Custom yes yes no 65 0 BESCEV+Verdana TrueType WinAnsi yes yes yes 76 0 SOCRQY+Verdana-Bold TrueType WinAnsi yes yes yes 82 0 IOLAWT+PazoMath-Italic Type 1 Builtin yes yes no 131 0 RFLZJB+CMR10 Type 1 Builtin yes yes no 135 0 UYVLXV+CMEX10 Type 1 Builtin yes yes no 139 0 QQXUPP+PazoMath Type 1 Builtin yes yes no 143 0 FCPKDS+CMSY10 Type 1 Builtin yes yes no 147 0 IYLPED+CMBSY10 Type 1 Builtin yes yes no 154 0 ZZMKIG+SFSS0500 Type 1 Custom yes yes yes 167 0 TDDOKE+URWPalladioL-Bold Type 1 Custom yes yes yes 174 0 ATFDYP+URWPalladioL-Roma Type 1 Custom yes yes yes 179 0 IEGABZ+URWPalladioL-Ital Type 1 Custom yes yes yes 184 0 ZZMKIG+SFSS0500 Type 1 Custom yes yes yes 196 0 TDDOKE+URWPalladioL-Bold Type 1 Custom yes yes yes 200 0 ATFDYP+URWPalladioL-Roma Type 1 Custom yes yes yes 204 0 IEGABZ+URWPalladioL-Ital Type 1 Custom yes yes yes 208 0 Jhove (Rel. 1.28.0, 2023-05-18) Date: 2024-02-02 02:33:23 CET RepresentationInformation: pmc_10385369.pdf ReportingModule: PDF-hul, Rel. 1.12.4 (2023-03-16) LastModified: 2024-01-20 02:26:05 CET Size: 933106 Format: PDF Version: 1.7 Status: Well-Formed and valid SignatureMatches: PDF-hul MIMEtype: application/pdf PDFMetadata: Objects: 310 FreeObjects: 15 IncrementalUpdates: 0 DocumentCatalog: PageLayout: SinglePage PageMode: UseNone Outlines: Item: Title: Introduction Destination: section.1 Item: Title: Previous Work Destination: section.2 Item: Title: Proposed Architecture Destination: section.3 Item: Title: Results Destination: section.4 Item: Title: Discussion Destination: section.5 Item: Title: Conclusions Destination: section.6 Item: Title: References Destination: section.7 Info: Title: RisCO2: Implementation and Performance Evaluation of RISC-V Processors for Low-Power CO2 Concentration Sensing Author: Ricardo Núñez-Prieto, David Castells-Rufas and Lluís Terés-Terés Subject: In the field of embedded systems, energy efficiency is a critical requirement, particularly for battery-powered devices. RISC-V processors have gained popularity due to their flexibility and open-source nature, making them an attractive choice for embedded applications. However, not all RISC-V processors are equally energy-efficient, and evaluating their performance in specific use cases is essential. This paper presents RisCO2, an RISC-V implementation optimized for energy efficiency. It evaluates its performance compared to other RISC-V processors in terms of resource utilization and energy consumption in a signal processing application for nondispersive infrared (NDIR) CO2 sensors.The processors were implemented in the PULPino SoC and synthesized using Vivado IDE. RisCO2 is based on the RV32E_Zfinx instruction set and was designed from scratch by the authors specifically for low-power signal demodulation in CO2 NDIR sensors. The other processors are Ri5cy, Micro-riscy, and Zero-riscy, developed by the PULP team, and CV32E40P (derived from Ri5cy) from the OpenHW Group, all of them widely used in the RISC-V community. Our experiments showed that RisCO2 had the lowest energy consumption among the five processors, with a 53.5% reduction in energy consumption compared to CV32E40P and a 94.8% reduction compared to Micro-riscy. Additionally, RisCO2 had the lowest FPGA resource utilization compared to the best-performing processors, CV32E40P and Ri5cy, with a 46.1% and a 59% reduction in LUTs, respectively. Our findings suggest that RisCO2 is a highly energy-efficient RISC-V processor for NDIR CO2 sensors that require signal demodulation to enhance the accuracy of the measurements. The results also highlight the importance of evaluating processors in specific use cases to identify the most energy-efficient option. This paper provides valuable insights for designers of energy-efficient embedded systems using RISC-V processors. Keywords: RISC-V; PULPino; NDIR CO2 sensors; FPGA; energy efficiency; signal demodulation; power consumption Creator: LaTeX with hyperref Producer: pdfTeX-1.40.21 CreationDate: Tue Jul 04 12:22:06 CEST 2023 ModDate: Tue Jul 04 12:30:39 CEST 2023 ID: 0xc54cd3bd080bf78b035a4eb0e962644b, 0xc54cd3bd080bf78b035a4eb0e962644b Filters: FilterPipeline: FlateDecode FilterPipeline: DCTDecode Images: Image: NisoImageMetadata: FormatName: image/png ImageWidth: 1219 ImageHeight: 1023 ColorSpace: RGB BitsPerSample: 8 BitsPerSampleUnit: integer Filter: FlateDecode Image: NisoImageMetadata: FormatName: image/jpg CompressionScheme: JPEG ImageWidth: 1689 ImageHeight: 993 ColorSpace: RGB BitsPerSample: 8 BitsPerSampleUnit: integer Image: NisoImageMetadata: FormatName: image/png ImageWidth: 622 ImageHeight: 432 ColorSpace: RGB BitsPerSample: 8 BitsPerSampleUnit: integer Filter: FlateDecode Image: NisoImageMetadata: FormatName: image/png ImageWidth: 575 ImageHeight: 430 ColorSpace: RGB BitsPerSample: 8 BitsPerSampleUnit: integer Filter: FlateDecode Fonts: Type1: Font: BaseFont: TZBBDI+SFTT1000 FontSubset: true FirstChar: 46 LastChar: 124 FontDescriptor: FontName: TZBBDI+SFTT1000 Flags: Symbolic FontBBox: -208, -360, 1374, 838 FontFile: true EncodingDictionary: Differences: true Font: BaseFont: IEGABZ+URWPalladioL-Ital FontSubset: true FirstChar: 40 LastChar: 121 FontDescriptor: FontName: IEGABZ+URWPalladioL-Ital Flags: Symbolic FontBBox: -170, -305, 1010, 941 FontFile: true EncodingDictionary: Differences: true Font: BaseFont: IOLAWT+PazoMath-Italic FontSubset: true FirstChar: 97 LastChar: 97 FontDescriptor: FontName: IOLAWT+PazoMath-Italic Flags: Symbolic FontBBox: -70, -277, 902, 733 FontFile: true Font: BaseFont: FCPKDS+CMSY10 FontSubset: true FirstChar: 2 LastChar: 25 FontDescriptor: FontName: FCPKDS+CMSY10 Flags: Symbolic FontBBox: -29, -960, 1116, 775 FontFile: true Font: BaseFont: RFLZJB+CMR10 FontSubset: true FirstChar: 43 LastChar: 61 FontDescriptor: FontName: RFLZJB+CMR10 Flags: Symbolic FontBBox: -40, -250, 1009, 750 FontFile: true Font: BaseFont: TDDOKE+URWPalladioL-Bold FontSubset: true FirstChar: 3 LastChar: 250 FontDescriptor: FontName: TDDOKE+URWPalladioL-Bold Flags: Symbolic FontBBox: -152, -301, 1000, 935 FontFile: true EncodingDictionary: Differences: true Font: BaseFont: IYLPED+CMBSY10 FontSubset: true FirstChar: 2 LastChar: 2 FontDescriptor: FontName: IYLPED+CMBSY10 Flags: Symbolic FontBBox: -26, -940, 1332, 825 FontFile: true Font: BaseFont: UYVLXV+CMEX10 FontSubset: true FirstChar: 90 LastChar: 90 FontDescriptor: FontName: UYVLXV+CMEX10 Flags: Symbolic FontBBox: -24, -2960, 1454, 772 FontFile: true Font: BaseFont: ATFDYP+URWPalladioL-Roma FontSubset: true FirstChar: 2 LastChar: 252 FontDescriptor: FontName: ATFDYP+URWPalladioL-Roma Flags: Symbolic FontBBox: -166, -283, 1021, 943 FontFile: true EncodingDictionary: Differences: true Font: BaseFont: QQXUPP+PazoMath FontSubset: true FirstChar: 229 LastChar: 229 FontDescriptor: FontName: QQXUPP+PazoMath Flags: Symbolic FontBBox: -40, -283, 878, 946 FontFile: true Pages: Page: Sequence: 1 Annotations: Annotation: Subtype: Link Rect: 34, 293, 152, 302 Annotation: Subtype: Link Rect: 34, 283, 72, 290 Annotation: Subtype: Link Rect: 34, 164, 96, 186 Annotation: Subtype: Link Rect: 126, 90, 154, 99 Annotation: Subtype: Link Rect: 34, 78, 147, 87 Annotation: Subtype: Link Rect: 34, 756, 165, 792 Annotation: Subtype: Link Rect: 515, 756, 560, 792 Annotation: Subtype: Link Rect: 152, 661, 163, 674 Annotation: Subtype: Link Rect: 275, 661, 286, 674 Annotation: Subtype: Link Rect: 395, 661, 406, 674 Annotation: Subtype: Link Rect: 206, 136, 213, 145 ActionDest: 216 Annotation: Subtype: Link Rect: 206, 73, 213, 82 ActionDest: 216 Annotation: Subtype: Link Rect: 138, 17, 272, 28 Annotation: Subtype: Link Rect: 383, 17, 560, 28 Annotation: Subtype: Link Rect: 34, 390, 87, 409 Page: Sequence: 2 Annotations: Annotation: Subtype: Link Rect: 262, 710, 269, 719 ActionDest: 216 Annotation: Subtype: Link Rect: 270, 710, 277, 719 ActionDest: 216 Annotation: Subtype: Link Rect: 380, 610, 387, 619 ActionDest: 216 Annotation: Subtype: Link Rect: 192, 572, 199, 581 ActionDest: 216 Annotation: Subtype: Link Rect: 442, 547, 449, 556 ActionDest: 216 Annotation: Subtype: Link Rect: 470, 522, 477, 531 ActionDest: 216 Annotation: Subtype: Link Rect: 507, 233, 514, 242 ActionDest: 216 Annotation: Subtype: Link Rect: 255, 183, 267, 192 ActionDest: 216 Annotation: Subtype: Link Rect: 231, 95, 243, 104 ActionDest: 219 Page: Sequence: 3 Annotations: Annotation: Subtype: Link Rect: 225, 685, 236, 694 ActionDest: 219 Annotation: Subtype: Link Rect: 221, 484, 233, 493 ActionDest: 219 Annotation: Subtype: Link Rect: 290, 384, 302, 393 ActionDest: 219 Page: Sequence: 4 Annotations: Annotation: Subtype: Link Rect: 418, 549, 430, 558 ActionDest: 219 Annotation: Subtype: Link Rect: 272, 273, 279, 285 ActionDest: 128 Annotation: Subtype: Link Rect: 547, 273, 554, 285 ActionDest: 70 Annotation: Subtype: Link Rect: 479, 125, 491, 134 ActionDest: 219 Page: Sequence: 5 Annotations: Annotation: Subtype: Link Rect: 230, 69, 237, 81 ActionDest: 118 Page: Sequence: 6 Annotations: Annotation: Subtype: Link Rect: 282, 346, 294, 355 ActionDest: 219 Annotation: Subtype: Link Rect: 410, 334, 422, 342 ActionDest: 219 Annotation: Subtype: Link Rect: 214, 283, 226, 292 ActionDest: 219 Annotation: Subtype: Link Rect: 217, 243, 224, 255 ActionDest: 124 Annotation: Subtype: Link Rect: 355, 218, 362, 230 ActionDest: 124 Annotation: Subtype: Link Rect: 292, 105, 298, 117 ActionDest: 124 Page: Sequence: 7 Annotations: Annotation: Subtype: Link Rect: 75, 322, 86, 330 ActionDest: 219 Annotation: Subtype: Link Rect: 288, 262, 294, 271 ActionDest: 62 Annotation: Subtype: Link Rect: 387, 121, 394, 132 ActionDest: 128 Page: Sequence: 8 Annotations: Annotation: Subtype: Link Rect: 211, 656, 218, 667 ActionDest: 128 Annotation: Subtype: Link Rect: 294, 369, 301, 381 ActionDest: 56 Annotation: Subtype: Link Rect: 494, 359, 506, 368 ActionDest: 219 Annotation: Subtype: Link Rect: 344, 344, 351, 356 ActionDest: 62 Annotation: Subtype: Link Rect: 455, 319, 462, 331 ActionDest: 124 Annotation: Subtype: Link Rect: 454, 293, 461, 305 ActionDest: 62 Annotation: Subtype: Link Rect: 353, 243, 360, 255 ActionDest: 151 Annotation: Subtype: Link Rect: 451, 231, 458, 243 ActionDest: 62 Annotation: Subtype: Link Rect: 214, 193, 221, 205 ActionDest: 151 Page: Sequence: 9 Annotations: Annotation: Subtype: Link Rect: 478, 527, 484, 541 ActionDest: 62 Annotation: Subtype: Link Rect: 219, 238, 226, 250 ActionDest: 160 Annotation: Subtype: Link Rect: 379, 238, 386, 250 ActionDest: 151 Page: Sequence: 10 Annotations: Annotation: Subtype: Link Rect: 477, 489, 484, 501 ActionDest: 151 Annotation: Subtype: Link Rect: 553, 464, 560, 476 ActionDest: 160 Annotation: Subtype: Link Rect: 439, 162, 446, 174 ActionDest: 118 Page: Sequence: 11 Annotations: Annotation: Subtype: Link Rect: 334, 683, 341, 695 ActionDest: 191 Page: Sequence: 12 Page: Sequence: 13 Annotations: Annotation: Subtype: Link Rect: 59, 308, 96, 318 Annotation: Subtype: Link Rect: 408, 296, 446, 307 Annotation: Subtype: Link Rect: 452, 296, 488, 307 Annotation: Subtype: Link Rect: 224, 273, 262, 284 Annotation: Subtype: Link Rect: 268, 273, 304, 284 Annotation: Subtype: Link Rect: 117, 239, 155, 249 Annotation: Subtype: Link Rect: 59, 193, 96, 203 Annotation: Subtype: Link Rect: 296, 181, 560, 192 Annotation: Subtype: Link Rect: 56, 170, 142, 180 Annotation: Subtype: Link Rect: 433, 112, 471, 123 Annotation: Subtype: Link Rect: 374, 77, 412, 88 Page: Sequence: 14 Annotations: Annotation: Subtype: Link Rect: 428, 733, 560, 744 Annotation: Subtype: Link Rect: 56, 722, 93, 733 Annotation: Subtype: Link Rect: 292, 710, 522, 721 Annotation: Subtype: Link Rect: 257, 629, 294, 640 Annotation: Subtype: Link Rect: 290, 618, 497, 629 Annotation: Subtype: Link Rect: 476, 583, 514, 594 Annotation: Subtype: Link Rect: 376, 572, 560, 583 Annotation: Subtype: Link Rect: 56, 561, 129, 571 Annotation: Subtype: Link Rect: 291, 549, 560, 560 Annotation: Subtype: Link Rect: 56, 538, 153, 548 Checksum: d3242c69 Type: CRC32 Checksum: fadad10f12f29fd8f4bf39c2fe1528a3 Type: MD5 Checksum: 09c2f95a48a32f70b19737cbe1d3c7b0afab3c81 Type: SHA-1 Checksum: bdeb22a0dde67459e393e83d5dc1ce581b001623b2caec5cdf933d33a3d5e861 Type: SHA-256