Я пытаюсь понять, как работает UART для RS232 в HDL.
Он использует генератор скорости передачи данных, который генерирует конкретную скорость передачи данных, которую вы хотите, верно? например 9600, 115200, ...
Это код, который всегда появляется в генераторе скорости передачи данных:
module mod_m_counter
#(
parameter N = 4,
parameter M = 10
)
(
input wire clk, reset,
output wire max_tick,
output wire [N-1:0] q
);
reg [N-1:0] r_reg;
wire [N-1:0] r_next;
always@( posedge clk, posedge reset )
if( reset )
r_reg <= 0;
else
r_reg <= r_next;
assign r_next = ( r_reg == (M-1) ) ? 0 : r_reg + 1;
assign q = r_reg;
assign max_tick = ( r_reg == (M-1) ) ? 1'b1 : 1'b0;
endmodule
Я не понимаю, что такое N и M?
Если, например, я хочу создать скорость 9600 бод, какие N и M выбрать?
Заранее спасибо.