我正在做一个 VGA 学校项目,我将在 FPGA 上进行综合。我正在使用 Xilinx 并将 Verilog 用作 HDL。该项目说我必须生成固定数量的粒子,将它们显示在屏幕上,并且通过使用键盘,我必须控制这些粒子的环境(如风、重力等)。
我可以使用以下方法生成一个大小为 1 像素(大小不重要)的粒子:
wire p1 =(posx>=part1x[13:4] && posx<=(part1x[13:4]+1) && posy>=part1y[12:4] && posy<=(part1y[12:4]+1));
通过使用这个:
wire p1 =(posx>=part1x[13:4] && posx<=(part1x[13:4]+1) && posy>=part1y[12:4] && posy<=(part1y[12:4]+1));
wire p2 =(posx>=part2x[13:4] && posx<=(part2x[13:4]+2) && posy>=part2y[12:4] && posy<=(part2y[12:4]+2));
wire p3 =(posx>=part3x[13:4] && posx<=(part3x[13:4]+3) && posy>=part3y[12:4] && posy<=(part3y[12:4]+3));
将创建三个粒子。
例如,我如何在不必编写 100 行代码的情况下生成 100 个(或更多)粒子?