我正在 FPGA 上制作“任意波形发生器”。目前,我正在使用 FPGA [使用 verilog] 生成“sinc”波。
对于固定频率,我可以在 ROM 上使用 LUT 制作 sinc,但我需要提供选项以制作用户定义频率的 sinc。
所以,有什么好主意怎么做吗???
任何帮助将不胜感激。
您仍然可以将 LUT 用于可变频率sin(x)
功能。
只需生成一个正弦波单个周期的 1000 左右(取决于您所需的分辨率)条目的 LUT。然后,您根据所需的频率决定每个时钟周期要跳过多少条目。
例如,如果您的时钟为 1MHz,而所需的输出频率为 1KHz,那么您每个时钟都进入下一个 LUT 条目(在 1000 个时钟周期内完成该周期)。如果所需的输出频率为 10KHz,则每个周期在 LUT 中跳转 10 个条目。(在 100 个时钟周期内完成周期)
不过,要获得 sinc sin(x)/x
,我认为您需要实现除法电路,因为我想不出任何解决方法。