Draw a cylindrical spiral with TikZ

You could use PGFPlots for this:

\documentclass[tikz,border=12pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
    colormap/outside/.style={
        colormap=
            {outside}{
            rgb255(0cm)=(235,235,235);
            rgb255(1cm)=(100,100,100);
            }
    },
    colormap/outside,
    colormap/inside/.style={
        colormap={inside}{
            rgb255(0cm)=(120,120,120);
            rgb255(1cm)=(255,255,255);
        }
    },
    colormap/inside
}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    hide axis,
    axis equal image,
    z buffer=sort,
    view={30}{40},
    width=15cm
]
\addplot3 [
    surf,
    domain=0:3*360,
    samples=100,
    y domain=0:2000,
    samples y=2,
    line join=round,
    mesh/interior colormap name=inside,
    colormap/outside,
    shader=faceted,
    variable=\t,
    point meta={cos(t)},
    faceted color=black,
] ({cos(t)*1.1*t},{sin(t)*1.1*(t)},{y});
\end{axis}
\end{tikzpicture}
\end{document}

enter image description here

Asymptote version as an extruded surface from a spiral curve, spiral.asy:

size(300);
size3(300,300,300,IgnoreAspect);
import graph;
import solids;

currentprojection=orthographic(camera=(3640,2030,-0.8),up=(1.4,0.58,0.004),target=(0,0,0),zoom=0.618);

currentlight=light(gray(0.8),ambient=gray(0.1),specular=gray(0.7),
                     specularfactor=3,viewport=true,dir(42,48));

real a,b;
a=1;b=1;

pair spiral(real phi){
  real r=a+b*phi;
  return r*(Cos(phi),Sin(phi));
};
real phiMax=-90+3*360+20;
guide g=graph(spiral,0,phiMax,operator..);

pen bpen=rgb(0.75, 0.7, 0.1);
material m=material(diffusepen=0.7bpen
,ambientpen=bpen,emissivepen=0.3*bpen,specularpen=0.999white,shininess=1.0);

draw(extrude(g,(0,0,1)),m,render(merge=true));

run with xelatex:

\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}

\psframebox{%
\begin{pspicture}(-3,-4)(3,3)
\psset{lightsrc=viewpoint,viewpoint=10 -10 50 rtp2xyz,Decran=20}
\defFunction[algebraic]{G}(t)
   {0.15*t*cos(3*t)}{0.15*t*sin(3*t)}{-2}
\psSolid[object=cylindre,incolor=blue!30,
   range=-1 8,h=3,function=G,axe=0 0 1,ngrid=3 144]
\end{pspicture}}
%
\psframebox{%
\begin{pspicture}(-3,-2)(3,3)
\psset{lightsrc=15 5 10,viewpoint=10 -10 80 rtp2xyz,Decran=20}
\defFunction[algebraic]{G}(t)
   {0.15*t*cos(3*t)}{0.15*t*sin(3*t)}{-2}
\psSolid[object=cylindre,incolor=blue!30,
   range=-1 8,h=3,function=G,axe=0 0 1,ngrid=3 144]
\end{pspicture}}

\end{document}

change the equation G(t) with x=f(t), y=f(t), and z=f(t) to whatever you like.

enter image description here