Radio-frequency identification (RFID) poses a number of research challenges, such as interference mitigation, throughput optimization and security over the RF channel. A number of new approaches to address these issues have been proposed recently, but due to the highly integrated nature of passive RFID tags, it is difficult to evaluate them in real-world scenarios. In this paper, we present an RFID simulation engine, RFIDSim, which implements the ISO 18000-6C communication protocol and supports pathloss, fading, backscatter, capture, and tag mobility models. This paper also shows that our implementation of RFIDSim that relies on a discrete event simulator can be used to simulate large populations featuring thousands of RFID tags. RFIDSim also simulates the deep fades that lead to frequent power losses of the battery-less RFID tags by modeling the multipath effects statistically.