Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

uart code

What does the following code do?

case(SW[3:0])

4'b0000: UART_TXD = RS422_1_TX;

4'b0001: UART_TXD = RS422_2_TX;

4'b0010: UART_TXD = RS422_3_TX;

4'b0011: UART_TXD = RS422_3_TX;

...

verilog challenged:oops:

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi:

    This is an 16 to 1 multiplexer or mux. Based on the 4-bit selection term SW, the output is connected to the input where SW matches the case term 4'b0000, 4'b0001 etc.

    So if SW = 4'b0010, the output UART_TXD = input RS422_3_TX.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I am using an eval board. I am trying to communicate with a PC via the RS232.

    Can I just use the switches to send an 8 bit signal? It doesn't let me just assign the switches as an array to the UART TX?

    What am I doing wrong?

    Thanks,
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'm trying to build a vhdl uart too. I think that the TX is only one bit long because it is a signal you have to modify according to your baudrate.