yes, but also the VIC timers and the PLA. So basically you need all of the c64 chips emulated, at least in part :)
I wrote a simple SID player for fun and I feel like it's 20% shy of being a full c64 emulator, all it needs is video output and keyboard/joystick input.
I wrote a simple program that transformed basic (60hz, no PCM-style hacks) SID programs to like sequence of byte instructions for the SID chip so that I could replay without emulating and the file sizes are massive compared to the original!
Here is an awesome single file SID player written in C,
I wrote mine in C too and it's basically a 1k line switch statement for every 6510 instruction :) I went the extra mile and made it cycle-accurate though.
libsidplayfp is probably the best emulator out there. It actually emulates voltage levels at one stage. The wiki has a bunch of info on SID reverse engineered from die shots https://github.com/libsidplayfp/SID_schematics/wiki