Question: I'd like to draw this very simple diagram below. No need those rounded corners on the feedback line.

![desired](https://i.stack.imgur.com/AU30x.png)

I tried to follow other guides, but I don't know how to draw the feedback line nor how to distribute the inputs vertically on the left side of the rectangle.

Below is my try:

```
\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}

\tikzstyle{block} = [draw, rectangle, minimum height=3em, minimum width=3em]
\tikzstyle{virtual} = [coordinate]

\begin{tikzpicture}[auto, node distance=2cm]
    % Place nodes
    \node [virtual]                 (input)     {};
    \node [block, right of=input]   (model)     {Model};
    \node [virtual, right of=model] (output)    {};
    \node [virtual, below of=model] (feedback)  {};
    % Connect nodes
    \draw [->] (input) -- node {$u$} (model);
    \draw [->] (model) -- node [name=y] {$y$}(output);
    \draw [->] (y) |- (feedback);
\end{tikzpicture}

\end{document}

```

Rendering as follows:

![enter image description here](https://i.stack.imgur.com/WZoSQ.png)

Could you please guide me here? Thanks

Answer: 
To get the arrows coming in from the left to be as they are in the image, you can indicate the exact location with `(model.N)`, where `N` is the number of degrees around the shape anti-clockwise starting from the `east` anchor. I.e., `(model.90)` would correspond to `(model.north)`.

Rounded corners are obtained simply by adding `rounded corners` to `\draw` and starting your feedback line from `(model)` instead of `(y)`. 

You can also define the location of `(input)` with respect to the input position (here, `model.165`), and the node will be directly left of that point. 

Lastly, I've set `(feedback)` to be below left of `(model.west)` in order to tighten up the loop a bit.

```
\documentclass[border=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
\tikzstyle{block} = [draw, rectangle, minimum height=3em, minimum width=3em]
\tikzstyle{virtual} = [coordinate]
\begin{tikzpicture}[>=stealth,auto, node distance=2cm]
    % Place nodes
    \node [block] (model) {Model};
    \node [virtual, left=of model.165] (input)     {};
    \node [virtual, right=of model.0] (output)    {};
    \node [virtual, below left=of model.west] (feedback)  {};
    % Connect nodes
    \draw [->] (input) -- node {$u$} (model.165);
    \draw [->] (model) -- node [name=y] {$y$}(output);
    \draw [->,rounded corners] (model) -- (y.south) |- (feedback) |- (model.195);
\end{tikzpicture}
\end{document}

```

![enter image description here](https://i.stack.imgur.com/6yeD8.png)
As the following image shows, part of your problem is that your `feedback` node is probably not where you want it to be: it is far below your model.

![enter image description here](https://i.stack.imgur.com/fwwKS.jpg)

This was produced with the following, of course you don't want the `feed` there it is just to show where your `feedback` node is. I have drawn your feedback loop using relative coordinates: `++(a,b)` adds `(a,b)` to the last coordinate.

```
\documentclass[border=5mm,tikz]{standalone}
\usepackage{mwe}

\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}

\tikzstyle{block} = [draw, rectangle, minimum height=3em, minimum width=3em]
\tikzstyle{virtual} = [coordinate]

\begin{tikzpicture}[auto, node distance=2cm]
    % Place nodes
    \node [virtual]                 (input)     {};
    \node [block, right of=input]   (model)     {Model};
    \node [virtual, right of=model] (output)    {};
    \node [below of=model] (feedback)  {feed};
    % Connect nodes
    \draw [->] (input) -- node {$u$} (model);
    \draw [->] (model) -- node [name=y] {$y$}(output);
    \draw [->,rounded corners] (y)--++(0,-1.5)--++(-2.5,0)--++(0,1.0)--++(0.6,0);
\end{tikzpicture}

\end{document}

```