The MX65 project is a 6502-core written in VHDL. Its cycle accurate and passes the Klaus Dormann 6502 functional tests.
https://github.com/Klaus2m5/6502_65C02_functional_tests
The core is contained in a single file (mx65.vhd). A Lattice Diamond project is included, an Apple 1 clone designed for the MachXO2 ‘PICO’ evaluation board.
The MX65 6502 core is distributed under the terms of the MIT license.