{"id":83094,"date":"2025-06-02T23:50:12","date_gmt":"2025-06-03T03:50:12","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=83094"},"modified":"2025-06-10T17:43:58","modified_gmt":"2025-06-10T21:43:58","slug":"verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/","title":{"rendered":"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog"},"content":{"rendered":"<p class=\"ai-optimize-6 ai-optimize-introduction\"><em>Note: it\u2019s recommended to follow this VHDL tutorial series in order, starting with the\u00a0<\/em><strong><a href=\"https:\/\/www.engineersgarage.com\/vhdl\/vhdl-tutorial-1-introduction-to-vhdl\/\"><em>first tutorial<\/em><\/a><\/strong><em>. Follow the full series\u00a0<strong><a href=\"https:\/\/www.engineersgarage.com\/tutorials\/vhdl-tutorials\/\">here<\/a>.<\/strong><\/em><\/p>\n<p class=\"ai-optimize-7\">In the previous\u00a0<a href=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-11-how-to-design-half-and-full-subtractor-circuits-in-verilog\/\"><strong>Verilog Tutorial \u2013 11<\/strong><\/a>, we learned how to design half and full-subtractor circuits in Verilog.<\/p>\n<p class=\"ai-optimize-8\">In this tutorial, we\u2019ll:<\/p>\n<ol>\n<li class=\"ai-optimize-12\">Write a Verilog program to build an 8-bit parity generator and checker circuits<\/li>\n<li class=\"ai-optimize-12\">Verify the program&#8217;s output waveform (digital circuit) with truth tables for the parity generator and parity checker circuits<\/li>\n<\/ol>\n<ul>\n<li class=\"ai-optimize-13\" style=\"list-style-type: none;\"><\/li>\n<\/ul>\n<h3 class=\"ai-optimize-11\"><strong>The half-subtractor circuit<\/strong><\/h3>\n<p class=\"ai-optimize-15\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-83095\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-844x1024.png\" alt=\"\" width=\"720\" height=\"874\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-844x1024.png 844w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-247x300.png 247w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-768x932.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-1266x1536.png 1266w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt-196x238.png 196w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-ckt.png 1424w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-16\">Truth table<\/h3>\n<div id=\"attachment_83096\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83096\" class=\"size-large wp-image-83096\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-1024x331.png\" alt=\"\" width=\"740\" height=\"239\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-1024x331.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-300x97.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-768x248.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-1536x497.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-2048x663.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.28.50\u202fPM-368x119.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-83096\" class=\"wp-caption-text\">Here are a few examples of the possible 256 combinations of D0-D7.<\/p><\/div>\n<p class=\"ai-optimize-18\">Next, let\u2019s write the\u00a0Verilog\u00a0program, compile and simulate it, and get the output in a waveform. We\u2019ll also verify the output waveforms with the given truth table.<\/p>\n<p class=\"ai-optimize-19\"><span data-preserver-spaces=\"true\">First, it\u2019s important to review the step-by-step procedure provided in\u00a0<strong><a href=\"https:\/\/www.engineersgarage.com\/vhdl\/vhdl-tutorial-3-using-maxii-to-compile-simulate-verify-a-vhdl-program\/\">VHDL Tutorial \u2013 3<\/a><\/strong>. In that tutorial, we learn how to design a project, edit and compile a program, create a waveform file, simulate the program, and generate the final output waveforms.<\/span><\/p>\n<h3 class=\"ai-optimize-20\"><strong><span data-preserver-spaces=\"true\">Verilog program<\/span><\/strong><\/h3>\n<p class=\"ai-optimize-21\"><strong>Gate-level modeling:<\/strong><\/p>\n<p class=\"ai-optimize-22\"><span style=\"color: #800000;\"><strong>module parity_gen(even_p,odd_p,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0output even_p,odd_p;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0input [7:0] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0wire t1,t2,t3,t4,t5,t6;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t1,d[0],d[1]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t2,d[2],t1);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t3,d[3],t2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t4,d[4],t3);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t5,d[5],t4);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t6,d[6],t5);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(even_p,d[7],t6);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 not(odd_p,even_p);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-35\"><strong>Dataflow modeling:<\/strong><\/p>\n<p class=\"ai-optimize-36\"><span style=\"color: #800000;\"><strong>module parity_gen(even_p,odd_p,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0output even_p,odd_p;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0input [7:0] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0wire t1,t2,t3,t4,t5,t6;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t1 = d[0] ^ d[1];<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t2 = d[2] ^ t1;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t3 = d[3] ^ t2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t4 = d[4] ^ t3;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t5 = d[5] ^ t4;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign t6 = d[6] ^ t5;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign even_p = d[7] ^ t6;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0assign odd_p = ~even_p;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-50\"><span data-preserver-spaces=\"true\">Now, compile the above program, creating a waveform file with all of the necessary inputs and outputs that are listed, and simulate the project.\u00a0<\/span><\/p>\n<p class=\"ai-optimize-51\"><span data-preserver-spaces=\"true\">Here are the results\u2026<\/span><\/p>\n<h3 class=\"ai-optimize-52\">Waveform simulation<\/h3>\n<p class=\"ai-optimize-53\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83097\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform-1024x190.png\" alt=\"\" width=\"740\" height=\"137\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform-1024x190.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform-300x56.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform-768x143.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform-368x68.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-generator-waveform.png 1228w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<p class=\"ai-optimize-54\">Be sure to verify the \u2018even_p\u2019 and \u2018odd_p\u2019 output waveforms with the D0-D7 input data. For example, as shown above, for &#8216;1111 1011&#8217; the even_p output is \u20181\u2019 and the odd _p output is \u20180.\u2019 Whereas, for &#8216;1011 1110,&#8217; the even_p output is \u20180\u2019 and the odd_p output is \u20181.\u2019<\/p>\n<p class=\"ai-optimize-55\">Next, let&#8217;s build the 8-bit parity checker circuit.<\/p>\n<h3 class=\"ai-optimize-56\"><strong>The 8-bit parity checker circuit<\/strong><\/h3>\n<p class=\"ai-optimize-57\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83098\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-763x1024.png\" alt=\"\" width=\"740\" height=\"993\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-763x1024.png 763w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-223x300.png 223w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-768x1031.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-1144x1536.png 1144w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt-177x238.png 177w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-ckt.png 1424w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-49\">Truth table<\/h3>\n<p class=\"ai-optimize-58\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83099\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-1024x312.png\" alt=\"\" width=\"740\" height=\"225\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-1024x312.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-300x91.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-768x234.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-1536x468.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-2048x624.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-02-at-3.39.05\u202fPM-368x112.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-59\"><strong>Verilog program<\/strong><\/h3>\n<p class=\"ai-optimize-60\"><strong>Gate-level modeling:<\/strong><\/p>\n<p class=\"ai-optimize-61\"><span style=\"color: #800000;\"><strong>module parity_chk(p,e,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0output e;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0input [7:0] d,p;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0wire t1,t2,t3,t4,t5,t6,t7;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t1,d[0],d[1]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t2,d[2],t1);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t3,d[3],t2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t4,d[4],t3);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t5,d[5],t4);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t6,d[6],t5);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(t7,d[7],t6);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 xor(e,p,t7);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-74\"><strong>Dataflow modeling:<\/strong><\/p>\n<p class=\"ai-optimize-75\"><strong><span style=\"color: #800000;\">module parity_gen(p,e,d);<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0output e;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0input [7:0] d,p;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0wire t1,t2,t3,t4,t5,t6,t7;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign t1 = d[0] ^ d[1];<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign t2 = d[2] ^ t1;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign t3 = d[3] ^ t2;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign t4 = d[4] ^ t3;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign t5 = d[5] ^ t4;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\"><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\">\u00a0assign t6 = d[6] ^ t5;<br \/>\n<\/span>\u00a0assign t7 = d[7] ^ t6;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">\u00a0assign e = p ^ t7;<\/span><\/strong><br \/>\n<strong><span style=\"color: #800000;\">endmodule<\/span><\/strong><\/p>\n<h3 class=\"ai-optimize-88\"><strong>Simulation waveform<\/strong><\/h3>\n<p class=\"ai-optimize-89\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83100\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform-1024x339.png\" alt=\"\" width=\"740\" height=\"245\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform-1024x339.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform-300x99.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform-768x255.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform-368x122.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/parity-checker-waveform.png 1074w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<p class=\"ai-optimize-90\">Now, verify the \u2018e\u2019 output waveform against the parity input \u2018p\u2019 and the D0-D7 data. As shown aboive, for &#8216;0101 1011&#8217; and parity \u20181,\u2019 the error output is \u20181.\u2019 Whereas, for &#8216;0100 1010&#8242; and parity \u20180,\u2019 the output is \u20180.&#8217;<\/p>\n<p class=\"ai-optimize-91\">In <a href=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\">next tutorial<\/a>, we&#8217;ll learn how to design 8\u00d73 encoder and 3\u00d78 decoder circuits by using VHDL.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note: it\u2019s recommended to follow this VHDL tutorial series in order, starting with the\u00a0first tutorial. Follow the full series\u00a0here. In the previous\u00a0Verilog Tutorial \u2013 11, we learned how to design half and full-subtractor circuits in Verilog. In this tutorial, we\u2019ll: Write a Verilog program to build an 8-bit parity generator and checker circuits Verify the&hellip;<\/p>\n","protected":false},"author":64,"featured_media":83102,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[9],"tags":[4288,4690,4534],"class_list":{"2":"type-post","11":"entry","12":"has-post-thumbnail"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.2 (Yoast SEO v25.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Design-8-bit-parity-generator-and-checker-circuits-using-verilog<\/title>\n<meta name=\"description\" content=\"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog\" \/>\n<meta property=\"og:description\" content=\"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\" \/>\n<meta property=\"og:site_name\" content=\"Engineers Garage\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineersgarage\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png\" \/>\n\t<meta property=\"og:image:width\" content=\"808\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ashutosh Bhatt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:site\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ashutosh Bhatt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\"},\"author\":{\"name\":\"Ashutosh Bhatt\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\"},\"headline\":\"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog\",\"datePublished\":\"2025-06-03T03:50:12+00:00\",\"dateModified\":\"2025-06-10T21:43:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\"},\"wordCount\":559,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png\",\"keywords\":[\"tutorial\",\"vdhl\",\"verilog\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\",\"url\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\",\"name\":\"Design-8-bit-parity-generator-and-checker-circuits-using-verilog\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png\",\"datePublished\":\"2025-06-03T03:50:12+00:00\",\"dateModified\":\"2025-06-10T21:43:58+00:00\",\"description\":\"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png\",\"width\":808,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.engineersgarage.com\/#website\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"name\":\"Engineers Garage\",\"description\":\"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News\",\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.engineersgarage.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\",\"name\":\"Engineer's Garage - WTWH Media\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"width\":372,\"height\":52,\"caption\":\"Engineer's Garage - WTWH Media\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/engineersgarage\",\"https:\/\/x.com\/EngineersGarage\",\"https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\",\"name\":\"Ashutosh Bhatt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g\",\"caption\":\"Ashutosh Bhatt\"},\"url\":\"https:\/\/www.engineersgarage.com\/author\/abhatt\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Design-8-bit-parity-generator-and-checker-circuits-using-verilog","description":"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/","og_locale":"en_US","og_type":"article","og_title":"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog","og_description":"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.","og_url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":808,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png","type":"image\/png"}],"author":"Ashutosh Bhatt","twitter_card":"summary_large_image","twitter_creator":"@EngineersGarage","twitter_site":"@EngineersGarage","twitter_misc":{"Written by":"Ashutosh Bhatt","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/"},"author":{"name":"Ashutosh Bhatt","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06"},"headline":"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog","datePublished":"2025-06-03T03:50:12+00:00","dateModified":"2025-06-10T21:43:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/"},"wordCount":559,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png","keywords":["tutorial","vdhl","verilog"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/","url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/","name":"Design-8-bit-parity-generator-and-checker-circuits-using-verilog","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png","datePublished":"2025-06-03T03:50:12+00:00","dateModified":"2025-06-10T21:43:58+00:00","description":"Learn step-by-step to write a Verilog program for 8-bit parity generator and checker circuits with output verification.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR.png","width":808,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"Verilog Tutorial 12: How to design 8-bit parity generator and checker circuits in Verilog"}]},{"@type":"WebSite","@id":"https:\/\/www.engineersgarage.com\/#website","url":"https:\/\/www.engineersgarage.com\/","name":"Engineers Garage","description":"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News","publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.engineersgarage.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.engineersgarage.com\/#organization","name":"Engineer's Garage - WTWH Media","url":"https:\/\/www.engineersgarage.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","width":372,"height":52,"caption":"Engineer's Garage - WTWH Media"},"image":{"@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/engineersgarage","https:\/\/x.com\/EngineersGarage","https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw"]},{"@type":"Person","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06","name":"Ashutosh Bhatt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/68b3974894b20e23ded96f2892a241268df7ecec2258979fa47e5e0955676822?s=96&r=g","caption":"Ashutosh Bhatt"},"url":"https:\/\/www.engineersgarage.com\/author\/abhatt\/"}]}},"featured_image_src":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/8-bit-verilog-ROATAOR-600x500.png","author_info":{"display_name":"Ashutosh Bhatt","author_link":"https:\/\/www.engineersgarage.com\/author\/abhatt\/"},"_links":{"self":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/83094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/comments?post=83094"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/83094\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/83102"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=83094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=83094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=83094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}