Rendering a form to a block
You can achieve that in couple of ways. You can create custom module or simply by using on the modules mentioned below.

Advanced Form Block


  With this module you can do the following:
  
  1) Create any number of blocks with a particular node edit form.
  
  2) create any number of blocks with a particular node add form of a
  content type.
  
  3) Create as many blocks as you like of each kind.
  
  4) From the content type choose which fields to display on a per block
  basis.However required fields will be automatically displayed.
  
  5) All forms will be saved through ajax. So multiple node forms can be
  independently placed on a single page and worked with simultaneously.


OR

Form Block


  Enables the presentation of user registration, site wide contact, or node creation forms in blocks. This is particularly useful for including forms on panels.


OR

You can also achieve that by creating custom module. Follow this link