SystemC on C++-pohjainen laitteistokuvauskieli, joka mahdollistaa tietokonelaitteiston kuvaamisen perinteisen rekisterisiirtotason (engl. register transfer level, RTL) lisäksi korkeammilla abstraktiotasoilla: järjestelmätasolla (engl. system level) ja transaktiotasolla (engl. transaction level). SystemC sisältää lisäksi simulaatiokernelin, jonka alaisuudessa sille kirjoitettu koodi suoritetaan. SystemC:tä käytetään pääasiassa järjestelmien simulointiin ja verifiointiin, mutta SystemC:llä kirjoitettu koodi voidaan myös syntetisoida tietyin rajoituksin.
Digitaalipiirien suunnittelu monimutkaistuu jatkuvasti transistorien integrointitiheyden kasvaessa Mooren lain tahdissa, josta on syntynyt tarve SystemC:n kaltaisille ilmaisuvoimaisemmille kielille. SystemC on luokkakirjasto joka lisää C++-kieleen laitteistokuvauksessa tarvittavia rakenteita sekä simulaatiokernelin, joka mahdollistaa tarkan rinnakkaisten prosessien ja ajastuksien mallinnuksen. Tämän ansiosta SystemC yhdistää korkean tason ohjelmointikielten suuren ilmaisuvoiman ja olio-ohjelmoinnin tuomat edut perinteisten laitteistokuvauskielten (mm. VHDL, Verilog) tarkkaan laitteiston mallinnukseen. Heikkoutena VHDL:ään ja Verilogiin verrattuna voidaan pitää sitä, että SystemC:llä kirjoitettu koodi ei pääsääntöisesti syntetisoidu yhtä tehokkaasti laitteistoksi.