70 likes | 272 Views
ECT 358. Lecture 12 Clock Generation. God plus one is always a majority!. If God be for us, who can be against us? Romans 8:31b. Clock Generation. Need a variable clock for the transmitter and receiver Consider developing a module that does the following: INPUT system clock
E N D
ECT 358 Lecture 12 Clock Generation
God plus one is always a majority! If God be for us, who can be against us? Romans 8:31b
Clock Generation • Need a variable clock for the transmitter and receiver • Consider developing a module that does the following: • INPUT • system clock • output frequency selection • OUTPUT • Transmitter • Bit Rate Clock • Receiver • Bit Rate Clock • Sampling Clock
Clock Generation always @(posedge sys_clock) begin if (s_count == 0) begin sample_clock = !sample_clock; s_count = sample_count; end else s_count = s_count -1; if (b_count == 0) begin bit_clock = !bit_clock; b_count = bit_count; end else b_count = b_count -1; end
Global Clock Access • Global Clocks: • 4 total global clocks available through DLL’s • Phase 0, 90, 180, 270 • Outputs 2X or /2 • Lock Signal for DLL • Needs Feedback through ibufg or bufg in schematic
Global Clock Access • BUFGDLL allows standard clock to be used • Simplest solution