Title: CRASH: Cognitive Radio Accelerated with Software and Hardware Abstract: The wireless spectrum has become more congested due to the rapid increase in the number of wireless devices. As this trend continues, the increased congestion will lead to further interference among wireless devices, reducing spectrum efficiency and throughput. To counteract this issue, researchers have turned to Cognitive Radio -- programmable radios that cooperatively share the wireless spectrum. Two key algorithms in Cognitive Radio are spectrum sensing and the spectrum decision. Before accessing a wireless channel, a cognitive radio must sense or detect channel occupancy and then make a transmit decision based on spectrum policies. The parallelism of spectrum sensing algorithms map well to a Field Programmable Gate Array (FPGA), while the sequential processing of spectrum decision algorithms may be more easily implemented in software. These processing requirements suggest a heterogeneous computing system where parallel algorithms are accelerated by being offloaded to the FPGA fabric. Recently, FPGA vendors have released System-on-Chip devices that tightly couple programmable logic and a multicore ARM processor. Due to the low latency interconnect, these SoCs show promise as an effective heterogeneous computing system. We have developed CRASH (Cognitive Radio Accelerated with Software and Hardware), a new software and programmable logic framework for Xilinx's Zynq SoC, to explore their potential in accelerating Cognitive Radio. CRASH provides the framework and interfaces for users to facilitate splitting algorithms between the Zynq's ARM processor and FPGA fabric. We implemented CRASH on a Xilinx ZC706 Zynq development board and used an Ettus Research USRP N210 software defined radio as the RF front end. Furthermore, CRASH has been integrated with the GNU Radio software defined toolkit and remains general enough to be integrated with other approaches such as Mathworks' Simulink. To demonstrate CRASH, we implemented the spectrum decision in software and offloaded spectrum sensing to the FPGA fabric using our framework. For comparison, we also built a version with both algorithms in software. We determined the performance of each configuration by measuring the latency in sensing unoccupied spectrum and then transmitting in the spectrum. Compared to the purely software implementation, CRASH reduced turnaround time by 2x. CRASH creates a low latency, high performance Cognitive Radio platform that simplifies offloading algorithms to programmable logic. This research shows that heterogeneous computing systems, such as CRASH, can provide Cognitive Radios substantial processing gains without sacrificing programmability. Committee: Kaushik Chowdhury Miriam Leeser (advisor) Mukesh Chugh, Mathworks