{"id":83126,"date":"2025-06-08T23:50:16","date_gmt":"2025-06-09T03:50:16","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=83126"},"modified":"2025-06-10T17:41:22","modified_gmt":"2025-06-10T21:41:22","slug":"verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/","title":{"rendered":"Verilog Tutorial 14: How to design a 1\u00d78  demultiplexer and an 8\u00d71 multiplexer 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-13-how-to-design-a-3x8-decoder-and-an-8x3-encoder-in-vhdl\/\"><strong>Verilog Tutorial \u2013 13<\/strong><\/a>, we learned how to design\u00a0a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL.<\/p>\n<p class=\"ai-optimize-8\">In this tutorial, we\u2019ll:<\/p>\n<ol>\n<li class=\"ai-optimize-7\">Write a Verilog program to build circuits for a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer<\/li>\n<li class=\"ai-optimize-7\">Verify the output waveform of program (digital circuit) with truth table of these multiplexer and demultiplexer circuits<\/li>\n<\/ol>\n<h3 class=\"ai-optimize-6\"><strong>The 1\u00d78 Demultiplexer circuit<\/strong><\/h3>\n<p class=\"ai-optimize-9\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-scaled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83127\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-1024x420.png\" alt=\"\" width=\"740\" height=\"304\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-1024x420.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-300x123.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-768x315.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-1536x630.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-2048x840.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-ckt-368x151.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<h3 class=\"ai-optimize-8\">Truth table<\/h3>\n<p class=\"ai-optimize-10\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83128\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-1024x326.png\" alt=\"\" width=\"740\" height=\"236\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-1024x326.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-300x96.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-768x245.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-1536x489.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-2048x652.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/Screenshot-2025-06-06-at-12.59.21\u202fPM-368x117.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-12\"><span style=\"color: #800000;\"><strong>module demux18(o1,o2,o3,o4,o5,o6,o7,o8,D,s0,s1,s2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0input\u00a0 i,s0,s1,s2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0output o1,o2,o3,o4,o5,o6,o7,o8;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0wire not_s0,not_s1,not_s2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(not_s0,s0);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(not_s1,s1);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(not_s2,s2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o1,not_s0,not_s1,not_s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o2,s0,not_s1,not_s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o3,not_s0,s1,not_s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o4,s0,s1,not_s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o5,not_s0,not_s1,s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o6,s0,not_s1,s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o7,not_s0,s1,s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o8,s0,s1,s2,i);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-26\"><strong>Dataflow modeling:<\/strong><\/p>\n<p class=\"ai-optimize-27\"><span style=\"color: #800000;\"><strong>module demux18(o1,o2,o3,o4,o5,o6,o7,o8,D,s0,s1,s2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0input\u00a0 i,s0,s1,s2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0output o1,o2,o3,o4,o5,o6,o7,o8;<\/strong><\/span><\/p>\n<p class=\"ai-optimize-30\"><span style=\"color: #800000;\"><strong>assign o1 = ~s0 &amp; ~s1 &amp; ~s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o2 = s0 &amp; ~s1 &amp; ~s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o3 = ~s0 &amp; s1 &amp; ~s2 &amp; i;<br \/>\n<\/strong><\/span><span style=\"color: #800000;\"><strong>assign o4 = s0 &amp; s1 &amp; ~s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o5 = ~s0 &amp; ~s1 &amp; s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o6= s0 &amp; ~s1 &amp; s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o7 = ~s0 &amp; s1 &amp; s2 &amp; i;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o8 = s0 &amp; s1 &amp; s2 &amp; i;<\/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-39\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83129\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform-1024x409.png\" alt=\"\" width=\"740\" height=\"296\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform-1024x409.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform-300x120.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform-768x307.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform-368x147.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demux-waveform.png 1247w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<p class=\"ai-optimize-40\">As shown above, the 8\u00d71 multiplexer can be understood by examining the select lines and corresponding outputs. When the select lines (S2, S1, S0) are set to &#8216;001,&#8217; input I\u2080 is routed to the output, resulting in &#8216;O\u2081 = 0.&#8217;<\/p>\n<p class=\"ai-optimize-40\">Similarly, when the select lines are &#8216;101,&#8217; input I\u2085 is selected, and the output becomes &#8216;O\u2085 = 1.&#8217; You can also verify other combinations of the select lines by observing how each input is connected to its corresponding output.<\/p>\n<p class=\"ai-optimize-40\">Next, let&#8217;s build the 8\u00d71 multiplexer circuit.<strong><u>\u00a0<\/u><\/strong><\/p>\n<h3 class=\"ai-optimize-43\"><strong>The 8&#215;1 multiplexer circuit<\/strong><\/h3>\n<h3 class=\"ai-optimize-44\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83130\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-1024x621.png\" alt=\"\" width=\"740\" height=\"449\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-1024x621.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-300x182.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-768x466.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-1536x932.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-2048x1243.png 2048w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-ckt-368x223.png 368w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><strong>Verilog program:<\/strong><\/h3>\n<p class=\"ai-optimize-47\"><strong>Gate-level modeling:<\/strong><\/p>\n<p class=\"ai-optimize-48\"><span style=\"color: #800000;\"><strong>module mux81(o, D0, D1, D2, D3, D4, D5, D6, D7, S0, S1, S2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input\u00a0 D0, D1, D2, D3, D4, D5, D6, D7, S0, S1, S2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 output o;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 wire o1,o2,o3,o4,o5,o6,o7,o8,x,y,z;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(x,S0);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(y,S1);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>not(z,S2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o1,x,y,z,D0);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o2,S0,y,z,D1);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o3,x,S1,z,D2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o4,S0,S1,z,D3);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o5,x,y,S2,D4);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o6,S0,y,S2,D5);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o7,x,S1,S2,D6);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>and(o8,S0,S1,S2,D7);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>or(o,o1,o2,o3,o4,o5,o6,o7,o8);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<p class=\"ai-optimize-65\"><strong>Dataflow modeling:<\/strong><\/p>\n<p class=\"ai-optimize-66\"><span style=\"color: #800000;\"><strong>module mux81(o, D0, D1, D2, D3, D4, D5, D6, D7, S0, S1, S2);<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 input\u00a0 D0, D1, D2, D3, D4, D5, D6, D7, S0, S1, S2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 output o;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>\u00a0 wire o1,o2,o3,o4,o5,o6,o7,o8;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o1 = ~S0 &amp; ~S1 &amp; ~S2 &amp; D0;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o2 = S0 &amp; ~S1 &amp; ~S2 &amp; D1;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o3 = ~S0 &amp; S1 &amp; ~S2 &amp; D2;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o4 = S0 &amp; S1 &amp; ~S2 &amp; D3;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o5 = ~S0 &amp; ~S1 &amp; S2 &amp; D4;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o6 = S0 &amp; ~S1 &amp; S2 &amp; D5;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o7 = ~S0 &amp; S1 &amp; S2 &amp; D6;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o8 = S0 &amp; S1 &amp; S2 &amp; D7;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>assign o = o1 | o2 | o3 | o4 | o5 | o6 | o7 | o8;<\/strong><\/span><br \/>\n<span style=\"color: #800000;\"><strong>endmodule<\/strong><\/span><\/p>\n<h3 class=\"ai-optimize-80\"><strong>Simulation waveform<\/strong><\/h3>\n<p class=\"ai-optimize-11\"><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83131\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform-1024x409.png\" alt=\"\" width=\"740\" height=\"296\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform-1024x409.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform-300x120.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform-768x307.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform-368x147.png 368w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/mux-waveform.png 1185w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><\/p>\n<p class=\"ai-optimize-81\" data-start=\"0\" data-end=\"249\">As shown in the figure, when the select lines (S2, S1, S0) are set to \u201c011\u201d and \u201c100,\u201d the corresponding inputs d\u2083 = 1 and d\u2084 = 1 are passed to the output, resulting in o = 1. You can verify additional select line combinations using the truth table.<\/p>\n<p class=\"ai-optimize-82\" data-start=\"251\" data-end=\"330\" data-is-last-node=\"\" data-is-only-node=\"\"><em>In the next tutorial, we&#8217;ll design the RS flip-flop and the clocked RS latch.<\/em><\/p>\n<p data-start=\"251\" data-end=\"330\" data-is-last-node=\"\" data-is-only-node=\"\">\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 13, we learned how to design\u00a0a 3\u00d78 decoder and an 8\u00d73 encoder in VHDL. In this tutorial, we\u2019ll: Write a Verilog program to build circuits for a 1\u00d78 demultiplexer and an&hellip;<\/p>\n","protected":false},"author":64,"featured_media":83133,"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,1],"tags":[4692,4693,4288,4534],"class_list":{"2":"type-post","13":"entry","14":"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-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog<\/title>\n<meta name=\"description\" content=\"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.\" \/>\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-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-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 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer in Verilog\" \/>\n<meta property=\"og:description\" content=\"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-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\/demultiplexer-rotator.png\" \/>\n\t<meta property=\"og:image:width\" content=\"795\" \/>\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-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\"},\"author\":{\"name\":\"Ashutosh Bhatt\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06\"},\"headline\":\"Verilog Tutorial 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer in Verilog\",\"datePublished\":\"2025-06-09T03:50:16+00:00\",\"dateModified\":\"2025-06-10T21:41:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\"},\"wordCount\":782,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png\",\"keywords\":[\"demultiplexer\",\"multiplexer\",\"tutorial\",\"verilog\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\",\"url\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\",\"name\":\"design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png\",\"datePublished\":\"2025-06-09T03:50:16+00:00\",\"dateModified\":\"2025-06-10T21:41:22+00:00\",\"description\":\"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png\",\"width\":795,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verilog Tutorial 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer 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-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog","description":"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.","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-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/","og_locale":"en_US","og_type":"article","og_title":"Verilog Tutorial 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer in Verilog","og_description":"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.","og_url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":795,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-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-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/"},"author":{"name":"Ashutosh Bhatt","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/ff80aa34dc1249eb691d684fec9d1c06"},"headline":"Verilog Tutorial 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer in Verilog","datePublished":"2025-06-09T03:50:16+00:00","dateModified":"2025-06-10T21:41:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/"},"wordCount":782,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png","keywords":["demultiplexer","multiplexer","tutorial","verilog"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/","url":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/","name":"design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png","datePublished":"2025-06-09T03:50:16+00:00","dateModified":"2025-06-10T21:41:22+00:00","description":"Follow this Verilog tutorial to simulate circuits for multiplexers and demultiplexers and verify their outputs.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-rotator.png","width":795,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/verilog-tutorial-14-how-to-design-a-1x8-demultiplexer-and-an-8x1-multiplexer-in-verilog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"Verilog Tutorial 14: How to design a 1\u00d78 demultiplexer and an 8\u00d71 multiplexer 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\/demultiplexer-rotator-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/06\/demultiplexer-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\/83126","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=83126"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/83126\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/83133"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=83126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=83126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=83126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}