I know this post is really old.
But dude, just buy a DAC. You'll get way way way better size, performance, etc., than anything you'll be able to cobble together with discrete parts. I know the audiophile fools think they can do better, but really it's not possible when you're (obviously) just starting out doing EE circuits.
I designed something similar a few years ago. It used a Cypress chip with High Speed USB, some type of Xilinx FPGA to do the 5.1 decoding, a few TI/Burr-Brown 24-bit DACs, some OPA-whatever low noise opamps, a SPDIF decoder, some type of low-jitter clock thing, USB stuff, different power supplies, bla bla. I don't remember.
What I *do* remember is thinking that this'll never work, and trying to do the layout to achieve 24-bit resolution was a pain -- different power domains, split power and ground planes, low noise LDOs, looking at noise specs, etc. I got the boards back, starting soldering them together, and eventually real-life and money-paying work got in the way. I'm glad I dropped it. It sounds like a fun project at first, but to get real FPGA/driver/firmware/analog-debugging working pretty much requires *full time* effort for a month or two and a decent quality o-scope with logic capabilities. I actually have a life, so I had to put that sh*t down.
I appreciate the obsessive need to design and build this sort of thing, but a.1) you're never going to make money off of this by making it open-source, a.2) you're never going to make money off this. Period. Just keep it as a hobby. a.3) nobody cares about your design enough to steal it -- nothing here is new or better than anything else commonly available, b) issues with layout are going to dominate the quality of the audio, c) it's difficult to get HS USB to work without paying close attention to line impedance, d) you're wasting your time by using so many discrete components, e) having "OCD" doesn't mean anything but a lame excuse (I have some form of OCD myself, and it has nothing to do with making clear schematics), and f) you NEED to use ground symbols, global power nets, and more (yes) conventional forms of communication so you get some decent feedback about the actual design rather than critiques about the format of your schematic.
So like others have said, here are my suggestions for the design:
0. Use a real DAC and real power amplifiers from a real company. Don't think you can do better by doing discretes. You can't. Integrate integrate integrate!! Use multi-channel opamps, dacs, buffers, inverters, whatever. If you have an FPGA already, why are you using so much discrete logic?
1. Put a block diagram on the first page, up front, showing a block for each *concept*: power supply, CPU, FPGA, DAC, etc. Then start a new page with power supplies. Then a new page with CPU. Then a new page with FPGA. Then a new page with opamps. Then a new page for high-power analog, etc.
2. Use global symbols for ground and the various powers. Show signal flow left to right.
3. Don't use so many inductors. They provide a false sense of "cleanliness".
4. If you're using discrete logic, use the proper symbol for flip-flops, inverters, tri-state buffers, etc. Don't just make a rectangle with pin names. That's lazy.
5. Add pin numbers to your symbols. For the RLC, etc., add information regarding the package, capacitor voltage rating and type. Add PPM information to the crystal.
6. Annotate your schematic showing expected voltages, currents, etc. for the power supply lines.
7. Annotate your schematic showing USB trace impedances.
8. Don't use 4-point junctions.
9. Add more space between things.
10. It's okay to use large schematic size, eg 11x17" or whatever standard is common in Europe -- A-whatever.
11. Show resistor values and percentages -- if you're using discrete resistors for DAC, then you probably want something really tight, like 0.1%.
12. Add a page to the schematic, and a spreadsheet to the overall design, with calculations showing the linearity specs you're trying to achieve, and why you believe your particular design will work. If you have analog filters, show the order and cutoff frequency.
13. For large parts with subcomponents like FPGA, place it on its own page.
14. Use off-page connectors or ports.
15. For multi-channel design, use Altium's hierarchical features.
16. For design review, show your layout, board stackup, etc. This is *as critical* as a logically correct design.
17. Make sure whatever power supplies, opamps, etc., you're using don't dominate the noise in your audio.
17. No need for writing your own Linux drivers. Nobody will use them. Just make your Cypress chip follow the USB audio device class. Then it's plug-and-play on whatever system, Mac, Linux, or M"$".
13. If you feel the need to put $ when referring to Microsoft, then perhaps you should stop using Altium and go to Gnu or some other crap tool.