{"id":11863,"date":"2016-01-12T09:15:53","date_gmt":"2016-01-12T17:15:53","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=11863"},"modified":"2025-06-02T04:06:36","modified_gmt":"2025-06-02T11:06:36","slug":"multiplexers-decoders-encoders-and-shifters-in-verilog","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/","title":{"rendered":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained"},"content":{"rendered":"<p><a href=\"http:\/\/www.instructables.com\/id\/Project-5-Multiplexer-Decoder-Encoder-and-Shifter\/?ALLSTEPS\">This Instructable<\/a> by\u00a0<span class=\"author\"><a href=\"http:\/\/www.instructables.com\/member\/NAEastland\/\" rel=\"author\">NAEastland<\/a>\u00a0shows how to<\/span>\u00a0design a multiplexer, a decoder, an encoder, and a shifter using Verilog HDL. &#8220;Instead of building the circuit using logic operators, you will learn to describe a circuit behaviorally according to the functionality you wish the circuit to perform,&#8221; says Nate.<\/p>\n<p>You&#8217;ll need to have the Vivado WebPACK installed on your computer and to have your FPGA set up. Knowing combinational logic in Verilog is a plus, too.<\/p>\n<figure id=\"attachment_11868\" aria-describedby=\"caption-attachment-11868\" style=\"width: 397px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/binarydecoder.jpg\" rel=\"attachment wp-att-11868\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-11868\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/binarydecoder.jpg\" alt=\"The binary decoder.\" width=\"397\" height=\"271\" data-wp-pid=\"11868\" \/><\/a><figcaption id=\"caption-attachment-11868\" class=\"wp-caption-text\">The binary decoder.<\/figcaption><\/figure>\n<p>Background information on what each item is isn&#8217;t included, but there\u00a0are\u00a0some handy links in the project. First, details for the multiplexer, or mux, are listed. Then, you have to design one! Code it, and then move on to the binary decoder and priority encoder. The shifter is the final item to complete.\u00a0At that point, you can test your knowledge by creating modified variations!<\/p>\n<p>More information and code is available in the Instructable. Check it out and let us know what you think!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-11863 jlk' data-task='like' data-post_id='11863' data-nonce='1f2f1e898c' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-11863 lc'>+1<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-11863 jlk' data-task='unlike' data-post_id='11863' data-nonce='1f2f1e898c' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-11863 unlc'>-1<\/span><\/a><\/div><\/div> <div class='status-11863 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Implementing tools in Verilog HDL on an FPGA.<\/p>\n","protected":false},"author":7,"featured_media":11869,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_ppma_block_editor_authors":""},"categories":[1563,1561],"tags":[1662],"ppma_author":[4464],"class_list":["post-11863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide","category-applications","tag-fpga"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog\" \/>\n<meta property=\"og:description\" content=\"Implementing tools in Verilog HDL on an FPGA.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/\" \/>\n<meta property=\"og:site_name\" content=\"Digilent Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-12T17:15:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-02T11:06:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"550\" \/>\n\t<meta property=\"og:image:height\" content=\"236\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Amber Mear\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Amber Mear\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/\"},\"author\":{\"name\":\"Amber Mear\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/#\\\/schema\\\/person\\\/c33500b30135cd0853e452b0ccfa2bcb\"},\"headline\":\"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained\",\"datePublished\":\"2016-01-12T17:15:53+00:00\",\"dateModified\":\"2025-06-02T11:06:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/\"},\"wordCount\":181,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/digilent.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/01\\\/muxesandmore.jpg\",\"keywords\":[\"FPGA\"],\"articleSection\":[\"How-To Guides and Technical Workflows \u2013 Digilent Blog\",\"Product Applications \u2013 Digilent Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/\",\"url\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/\",\"name\":\"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/digilent.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/01\\\/muxesandmore.jpg\",\"datePublished\":\"2016-01-12T17:15:53+00:00\",\"dateModified\":\"2025-06-02T11:06:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/#\\\/schema\\\/person\\\/c33500b30135cd0853e452b0ccfa2bcb\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#primaryimage\",\"url\":\"https:\\\/\\\/digilent.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/01\\\/muxesandmore.jpg\",\"contentUrl\":\"https:\\\/\\\/digilent.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/01\\\/muxesandmore.jpg\",\"width\":550,\"height\":236},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/multiplexers-decoders-encoders-and-shifters-in-verilog\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/digilent.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/digilent.com\\\/blog\\\/\",\"name\":\"Digilent Blog\",\"description\":\"Learning for Engineers, Students, and Hobbyists\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/digilent.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/digilent.com\\\/blog\\\/#\\\/schema\\\/person\\\/c33500b30135cd0853e452b0ccfa2bcb\",\"name\":\"Amber Mear\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=gfaace292e54f77e65a2a49c9902b2a29\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g\",\"caption\":\"Amber Mear\"},\"description\":\"I was the Digilent blog editor, and now I'm a contributor. I love learning about wearables and writing about social issues in STEM. Outside of work, I can be found watching Netflix with my cat, working on an art project, or trying to find new, delicious local foods.\",\"url\":\"https:\\\/\\\/digilent.com\\\/blog\\\/author\\\/amber_mear\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog","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:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/","og_locale":"en_US","og_type":"article","og_title":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog","og_description":"Implementing tools in Verilog HDL on an FPGA.","og_url":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/","og_site_name":"Digilent Blog","article_published_time":"2016-01-12T17:15:53+00:00","article_modified_time":"2025-06-02T11:06:36+00:00","og_image":[{"width":550,"height":236,"url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","type":"image\/jpeg"}],"author":"Amber Mear","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Amber Mear","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#article","isPartOf":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/"},"author":{"name":"Amber Mear","@id":"https:\/\/digilent.com\/blog\/#\/schema\/person\/c33500b30135cd0853e452b0ccfa2bcb"},"headline":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained","datePublished":"2016-01-12T17:15:53+00:00","dateModified":"2025-06-02T11:06:36+00:00","mainEntityOfPage":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/"},"wordCount":181,"commentCount":0,"image":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","keywords":["FPGA"],"articleSection":["How-To Guides and Technical Workflows \u2013 Digilent Blog","Product Applications \u2013 Digilent Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/","url":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/","name":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained - Digilent Blog","isPartOf":{"@id":"https:\/\/digilent.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#primaryimage"},"image":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#primaryimage"},"thumbnailUrl":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","datePublished":"2016-01-12T17:15:53+00:00","dateModified":"2025-06-02T11:06:36+00:00","author":{"@id":"https:\/\/digilent.com\/blog\/#\/schema\/person\/c33500b30135cd0853e452b0ccfa2bcb"},"breadcrumb":{"@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#primaryimage","url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","contentUrl":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","width":550,"height":236},{"@type":"BreadcrumbList","@id":"https:\/\/digilent.com\/blog\/multiplexers-decoders-encoders-and-shifters-in-verilog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/digilent.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Verilog Multiplexers, Decoders, Encoders, and Shifters Explained"}]},{"@type":"WebSite","@id":"https:\/\/digilent.com\/blog\/#website","url":"https:\/\/digilent.com\/blog\/","name":"Digilent Blog","description":"Learning for Engineers, Students, and Hobbyists","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/digilent.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/digilent.com\/blog\/#\/schema\/person\/c33500b30135cd0853e452b0ccfa2bcb","name":"Amber Mear","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=gfaace292e54f77e65a2a49c9902b2a29","url":"https:\/\/secure.gravatar.com\/avatar\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g","caption":"Amber Mear"},"description":"I was the Digilent blog editor, and now I'm a contributor. I love learning about wearables and writing about social issues in STEM. Outside of work, I can be found watching Netflix with my cat, working on an art project, or trying to find new, delicious local foods.","url":"https:\/\/digilent.com\/blog\/author\/amber_mear\/"}]}},"jetpack_sharing_enabled":true,"authors":[{"term_id":4464,"user_id":7,"is_guest":0,"slug":"amber_mear","display_name":"Amber Mear","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Mear","last_name_2":"","first_name":"Amber","first_name_2":"","job_title":"","description":"I was the Digilent blog editor, and now I'm a contributor. I love learning about wearables and writing about social issues in STEM. Outside of work, I can be found watching Netflix with my cat, working on an art project, or trying to find new, delicious local foods."}],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/01\/muxesandmore.jpg","post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/11863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=11863"}],"version-history":[{"count":2,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/11863\/revisions"}],"predecessor-version":[{"id":31623,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/11863\/revisions\/31623"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/11869"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=11863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=11863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=11863"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=11863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}