I am creating a project wherein I need to insert a MUX (2:1) to select between 2 signals. I want to control the MUX select signal through software running on Microblaze.
1. I do not find a MUX IP in the IP catalog in Vivado. How do I work around this?
2. For the select signal to be controlled through software, what is the simplest/easiest way to do this?
1. You can create a mux in Verilog with just a statement:
assign mux_out = (sel) ? din_1 : din_0;
You can also use an 'if' or a 'case' to infer one: http://www.asic-world.com/examples/verilog/mux.html
2. You can use a pin of the EMIO bank to connect to the select pin on the PL