波特率发生器--verilog实现
功能: 波特率 指的是数据对载波的调制速率,他用单位时间内载波调制状态改变次数来表示。 波特率发生器 的作用是从输入时钟转换出需要的波特率Clk 功能说明 :该模块接收任意频率的输入频率(clock),输出频率(baud_rate)由baud_freq和baud_limit_i根据以下公式计算,使用时首先需要根据输入频率和输出频率计算出baud_freq和baud_limit这两个参数。 计算公式: baud_freq=16*baud_rate/gcd(global_clock_freq,16 * baud_rate) baud_limit = (global_clock_freq / gcd(global_clock_freq, 16*baud_rate)) - baud_freq 注意: baud_limit为计数器计数上限,系统时钟计数满则产生一个分频的脉冲信号。 baud_freq为计数器计数步长值。 gcd:求最大公约数 我是使用的时系统时钟频率为50MHZ,串口频率为9600HZ。 module baud_gen( clock, reset, cout_clk, baud_freq, baud_limit ); input clock; input reset; output cout_clk; // baud rate multiplyed(乘以)by 16