我使用了几个月的VHDL,当我希望对某些条件进行顺序评估时,我有时使用非嵌套 if语句构建这种过程: begin (some instructions) end if;它似乎在模拟和综合方面都很好我对这些语句的顺序执行表示怀疑,但IEEE标准VHDL语言参考手册Std 1076-2008规定:
序列语句用于定义执行子程序或进程的算法
基于我所读到的,我做了一个FM声音合成的算法。我不确定我做得对不对。在创建软件合成器时,使用函数来生成振荡器,并且可以使用调制器来对该振荡器的频率进行模块化。该算法取仪器的波函数、调制器的折射率和比率作为频率调制器。对于每个音符,它获取频率并存储载波振荡器和调制器振荡器的相位值。调制器始终使用正弦波。这是伪代码中的算法: for each note in notes_playing