1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-30 02:32:53 +08:00
oh/common/hdl/oh_pll.v
2020-01-28 18:12:57 -05:00

27 lines
1.1 KiB
Verilog

//#############################################################################
//# Function: Phase Locked Loop #
//#############################################################################
//# Author: Andreas Olofsson #
//# License: MIT (see LICENSE file in OH! repository) #
//#############################################################################
module oh_pll #(parameter N = 8) // number of clocks
( input clkin, // primary clock input
input nreset, // async active low reset
input clkfb, // feedback clock
input pll_en, // enable pll
input [N*8-1:0] clkdiv, // clock divider settings (per clock)
input [N*16-1:0] clkphase, // clock phase setting (rise/fall edge)
input [7:0] clkmult, // feedback clock multiplier
output [N-1:0] clkout, // output clocks
output locked // PLL locked status
);
`ifdef TARGET_SIM
//insert PLL simulation model
`endif
endmodule // oh_pll