差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
点亮led灯 [2021/09/13 01:34] gongyu |
点亮led灯 [2022/07/20 10:24] (当前版本) zhijun [2. 设计要求] |
||
---|---|---|---|
行 7: | 行 7: | ||
### 2. 设计要求 | ### 2. 设计要求 | ||
- 初步了解数字设计的基本思想和开发流程 | - 初步了解数字设计的基本思想和开发流程 | ||
- | - 熟悉[[Lattice Diamond的使用|Diamond软件]]和仿真软件的使用方法及流程 | + | - 熟悉[[Lattice_fpga|Diamond软件]]和仿真软件的使用方法及流程 |
- 控制LED闪烁,闪烁周期为1秒 | - 控制LED闪烁,闪烁周期为1秒 | ||
- 了解FPGA时钟的使用 | - 了解FPGA时钟的使用 | ||
行 38: | 行 38: | ||
### 5. 代码设计 | ### 5. 代码设计 | ||
- | ==设计文件:== | + | #### 5.1 设计文件 |
模块框图如下: | 模块框图如下: | ||
{{ :blink.jpg |Blink}} | {{ :blink.jpg |Blink}} | ||
行 64: | 行 64: | ||
\\ | \\ | ||
- | ==测试文件:== | + | #### 5.2 测试文件 |
测试文件,也称testbench文件,是一种验证的手段,testbench文件在软件环境中模拟实际环境,产生被测模块输入端口需要的激励信号,对被测模块的输出信号分析,达到评估被测模块的目的。 | 测试文件,也称testbench文件,是一种验证的手段,testbench文件在软件环境中模拟实际环境,产生被测模块输入端口需要的激励信号,对被测模块的输出信号分析,达到评估被测模块的目的。 | ||
对于测试文件,我们需要提供被测模块(Blink)需要的时钟(sys_clk)及复位(sys_rst_n),如下: | 对于测试文件,我们需要提供被测模块(Blink)需要的时钟(sys_clk)及复位(sys_rst_n),如下: | ||
+ | |||
<code verilog> | <code verilog> | ||
reg sys_clk; | reg sys_clk; | ||
行 84: | 行 85: | ||
end | end | ||
</code> | </code> | ||
- | \\ | + | |
然后调用被测模块(Blink),注意模块调用时参数的重定义及端口的传递,为了方便仿真,减少仿真时间,我们将设计文件中的计数终值参数(CNT_NUM)在测试文件中重新赋值为10,这样我们在仿真时计数器的计数范围应该为0~9。 | 然后调用被测模块(Blink),注意模块调用时参数的重定义及端口的传递,为了方便仿真,减少仿真时间,我们将设计文件中的计数终值参数(CNT_NUM)在测试文件中重新赋值为10,这样我们在仿真时计数器的计数范围应该为0~9。 | ||
行 95: | 行 96: | ||
); | ); | ||
</code> | </code> | ||
- | \\ | + | |
引脚分配如下: | 引脚分配如下: | ||