差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
multi_leds_on [2021/09/27 17:22] gongyu |
multi_leds_on [2021/10/02 12:16] (当前版本) gongyu [2. 原理图] |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | |||
| ## 点亮多颗LED | ## 点亮多颗LED | ||
| - | ### 1. 实验目标 | ||
| 正如上所述,我们小脚丫FPGA板上有8颗LED和2颗3色LED,总计8+6=14颗,我们通过逻辑让某些灯亮,某些灯灭,看看代码如何写,实际的效果如何? | 正如上所述,我们小脚丫FPGA板上有8颗LED和2颗3色LED,总计8+6=14颗,我们通过逻辑让某些灯亮,某些灯灭,看看代码如何写,实际的效果如何? | ||
| 比如: | 比如: | ||
| 行 9: | 行 7: | ||
| * 第二个RGB灯中的蓝色灯亮 | * 第二个RGB灯中的蓝色灯亮 | ||
| * 其它灯都关掉 | * 其它灯都关掉 | ||
| - | ### 2. 实验任务 | ||
| - | ### 3. 实验原理 | + | ### 1. 知识点 |
| + | 再上一个案例的基础上,进一步体会Verilog代码的语法结构 - 向量及注释。 | ||
| - | ### 4. 使用Web IDE来验证 | + | ### 2. 原理图 |
| + | {{drawio>fpga_multi_leds.png}} | ||
| + | 在这个示例中用到了8个分立的LED,在Verilog中以向量(类似C中的数组)的方式来表示,另外两个RGB三色LED分开描述,以进行对比。 | ||
| - | #### 4.1 验证方式 | + | ### 3. Verilog代码 |
| - | #### 4.2 代码构成 | + | |
| 代码如下: | 代码如下: | ||
| - | |||
| <code verilog> | <code verilog> | ||
| module one_led_on(led, led_r1, led_g1, led_b1, led_r2, led_g2, led_b2); | module one_led_on(led, led_r1, led_g1, led_b1, led_r2, led_g2, led_b2); | ||
| 行 45: | 行 43: | ||
| * 一个好的代码,要对一些重要的信息给出“注释”说明,单行注释可以用//的方式, //后面的部分为注释内容。多行注释(又被称为块注释)以两个字符/* 开始,并以*/结束,其中的多行内容都会被认为是注释内容,在仿真或综合的时候被忽略掉。为增强可读性和兼容性,注释部分最好用英文来写 | * 一个好的代码,要对一些重要的信息给出“注释”说明,单行注释可以用//的方式, //后面的部分为注释内容。多行注释(又被称为块注释)以两个字符/* 开始,并以*/结束,其中的多行内容都会被认为是注释内容,在仿真或综合的时候被忽略掉。为增强可读性和兼容性,注释部分最好用英文来写 | ||
| - | #### 4.3 管脚分配 | + | ### 4. 管脚分配 |
| 管脚分配图如下: | 管脚分配图如下: | ||
| {{ :14led_onoff_pinout.jpg? 1000 |}} <WRAP centeralign> 8颗单色的LED和两颗的3色LED都被分配了管脚 </WRAP> | {{ :14led_onoff_pinout.jpg? 1000 |}} <WRAP centeralign> 8颗单色的LED和两颗的3色LED都被分配了管脚 </WRAP> | ||
| - | #### 4.4 效果验证 | + | ### 5. 功能验证 |
| 下载到小脚丫FPGA板子上,实际的效果验证 | 下载到小脚丫FPGA板子上,实际的效果验证 | ||
| {{ :14led_onoff_result.jpg?800 |}} <WRAP centeralign>将JED文件下载到FPGA板子以后的效果 </WRAP> | {{ :14led_onoff_result.jpg?800 |}} <WRAP centeralign>将JED文件下载到FPGA板子以后的效果 </WRAP> | ||