1. A system for performing operations on data in two different security domains, the system comprising a field-programmable gate array (FPGA), the FPGA comprising: a first security domain having a first classification level, the first security domain comprising: first processing circuitry and a first soft-core processor, and a second security domain having a second classification level, the second security domain comprising: second processing circuitry and a second soft-core processor, and one or more security domain separation gates connected to the first security domain and to the second security domain, the one or more security domain separation gates configured: to receive first data from the first security domain and transmit the first data to the second security domain when the first data complies with a first set of rules, and to receive second data from the second security domain and transmit the second data to the first security domain when the second data complies with a second set of rules, the only data paths between the first security domain and the second security domain being through the one or more security domain separation gates.