{"id":83117,"date":"2025-06-05T23:50:04","date_gmt":"2025-06-06T03:50:04","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=83117"},"modified":"2025-06-10T17:42:42","modified_gmt":"2025-06-10T21:42:42","slug":"verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/","title":{"rendered":"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL"},"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-12-how-to-design-8-bit-parity-generator-and-checker-circuits-in-verilog\/\"><strong>Verilog Tutorial \u2013 12<\/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-9\">Write a Verilog program for building circuits for a 3\u00d78 decoder and an 8\u00d73 encoder<\/li>\n<li class=\"ai-optimize-9\">Verify the output waveform of the program (digital circuit) with the given truth tables for the encoder and decoder circuits<\/li>\n<\/ol>\n<h3 class=\"ai-optimize-13\"><strong>The 3\u00d78 decoder circuit:<\/strong><\/h3>\n<p class=\"ai-optimize-14\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-scaled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83118\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-1024x420.png\" alt=\"\" width=\"740\" height=\"304\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-1024x420.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-300x123.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-768x315.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-1536x630.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-2048x840.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-ckt-368x151.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-12\">Truth table<\/h3>\n<p class=\"ai-optimize-15\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83119\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-1024x331.png\" alt=\"\" width=\"740\" height=\"239\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-1024x331.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-300x97.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-768x248.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-1536x497.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-2048x662.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.48.49\u202fPM-368x119.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\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-17\"><span style=\"color: #800000;\"><strong>module decoder3x8(a,b,c,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input a,b,c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 output [0:7] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 wire a_not,b_not,c_not;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 not(a_not,a);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 not(b_not,b);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 not(c_not,c);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 and(d[0],a_not,b_not,c_not);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 and(d[1],a,b_not,c_not);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(d[2],a_not,b,c_not);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 \u00a0 and(d[3],a,b,c_not);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 and(d[4],a_not,b_not,c);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 and(d[5],a,b_not,c);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 and(d[6],a_not,b,c);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 and(d[7],a,b,c);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0 endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-30\"><strong>Dataflow modeling:<\/strong><\/p>\n<p class=\"ai-optimize-31\"><span style=\"color: #800000;\"><strong>\u00a0module decoder3x8(a,b,c,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input a,b,c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 output [0:7] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[0] = ~a &amp; ~b &amp; ~c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[1] = a &amp; ~b &amp; ~c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[2] = ~a &amp; b &amp; ~c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[3] = a &amp; b &amp; ~c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[4] = ~a &amp; ~b &amp; c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[5] = a &amp; ~b &amp; c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign d[6] = ~a &amp; b &amp; c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign d[7] = a &amp; b &amp; c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 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-43\"><strong><u><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83120\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform-1024x446.png\" alt=\"\" width=\"740\" height=\"322\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform-1024x446.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform-300x131.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform-768x335.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform-368x160.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/decoder-waveform.png 1143w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/u><\/strong><\/p>\n<p class=\"ai-optimize-44\">Be sure to verify the D0-D7 output. You&#8217;ll note that only one output is high at a time. All of the others are then low, as per the given input A0-A1-A2 combinations from &#8216;000&#8217; to &#8216;111.&#8217;<\/p>\n<p class=\"ai-optimize-46\">Next, let&#8217;s build the 8&#215;3 encoder circuit.<\/p>\n<h3 class=\"ai-optimize-47\"><strong>The 8&#215;3 encoder circuit:<\/strong><\/h3>\n<p class=\"ai-optimize-48\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-83121\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt-1024x749.png\" alt=\"\" width=\"524\" height=\"383\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt-1024x749.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt-300x219.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt-768x562.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt-325x238.png 325w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-ckt.png 1072w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-59\"><strong>Truth table<\/strong><\/h3>\n<h3 class=\"ai-optimize-49\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83122\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-1024x329.png\" alt=\"\" width=\"740\" height=\"238\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-1024x329.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-300x96.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-768x246.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-1536x493.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-2048x657.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-05-at-12.56.24\u202fPM-368x118.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/h3>\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-50\"><span style=\"color: #800000;\"><strong>module encoder8x3(a,b,c,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input [0:7] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 output a,b,c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 or(c, d[1], d[3], d[5], d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 or(b, d[2], d[3], d[6], d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 or(a, d[4], d[5], d[6], d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-54\"><strong>Dataflow modeling<\/strong><\/p>\n<p class=\"ai-optimize-55\"><span style=\"color: #800000;\"><strong>module encoder8x3(a,b,c,d);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input [0:7] d;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 output a,b,c;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign c = d[1] | d[3] | d[5] | d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign b = d[2] | d[3] | d[6] | d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0\u00a0\u00a0\u00a0 assign a = d[4] | d[5] | d[6] | d[7]);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<h3 class=\"ai-optimize-62\"><strong>Simulation waveforms<\/strong><\/h3>\n<p class=\"ai-optimize-63\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83123\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform-1024x446.png\" alt=\"\" width=\"740\" height=\"322\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform-1024x446.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform-300x131.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform-768x335.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform-368x160.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/encoder-waveform.png 1143w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<p class=\"ai-optimize-64\">As shown above, the input output waveforms looks similar to those of the decoder. This is because the encoder is simply the reverse of the decoder. So the input becomes output, and vice versa.<\/p>\n<p class=\"ai-optimize-64\">In the encoder example, when D7&#8217;s input is \u20181,\u2019 the outputs are &#8216;a = 1,&#8217; &#8216;b=1,&#8217; and &#8216;c=1.&#8217; You can verify other combinations based on the truth table.<\/p>\n<p class=\"ai-optimize-65\"><em>In <a href=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\">next tutorial<\/a>, we&#8217;ll design circuits for an 8\u00d71 multiplexer and a 1\u00d78 de-multiplexer by using Verilog.<\/em><\/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 12, we learned how to design half and full-subtractor circuits in Verilog. In this tutorial, we\u2019ll: Write a Verilog program for building circuits for a 3\u00d78 decoder and an 8\u00d73 encoder&hellip;<\/p>\n","protected":false},"author":64,"featured_media":83125,"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":[429,239,3338,4288,4534,2192],"class_list":{"2":"type-post","14":"entry","15":"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>How-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl<\/title>\n<meta name=\"description\" content=\"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.\" \/>\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-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL\" \/>\n<meta property=\"og:description\" content=\"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\" \/>\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\/EncoderDecoder-ROTATOR.png\" \/>\n\t<meta property=\"og:image:width\" content=\"809\" \/>\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-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\"},\"author\":{\"name\":\"Ashutosh Bhatt\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\"},\"headline\":\"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL\",\"datePublished\":\"2025-06-06T03:50:04+00:00\",\"dateModified\":\"2025-06-10T21:42:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\"},\"wordCount\":556,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png\",\"keywords\":[\"circuit\",\"decoder\",\"encoder\",\"tutorial\",\"verilog\",\"VHDL\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\",\"url\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\",\"name\":\"How-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png\",\"datePublished\":\"2025-06-06T03:50:04+00:00\",\"dateModified\":\"2025-06-10T21:42:42+00:00\",\"description\":\"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png\",\"width\":809,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL\"}]},{\"@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":"How-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl","description":"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.","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-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/","og_locale":"en_US","og_type":"article","og_title":"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL","og_description":"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.","og_url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":809,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.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-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/"},"author":{"name":"Ashutosh Bhatt","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06"},"headline":"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL","datePublished":"2025-06-06T03:50:04+00:00","dateModified":"2025-06-10T21:42:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/"},"wordCount":556,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png","keywords":["circuit","decoder","encoder","tutorial","verilog","VHDL"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/","url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/","name":"How-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png","datePublished":"2025-06-06T03:50:04+00:00","dateModified":"2025-06-10T21:42:42+00:00","description":"Master Verilog in this tutorial! Build circuits for a 3\u00d78 decoder and an 8\u00d73 encoder and verify their outputs effectively.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR.png","width":809,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"Verilog Tutorial 13: How to design a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL"}]},{"@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\/EncoderDecoder-ROTATOR-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/EncoderDecoder-ROTATOR-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\/83117","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=83117"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/83117\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/83125"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=83117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=83117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=83117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}