这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 上一修订版 两侧同时换到之后的修订记录 | ||
乘法器实验_乘法器使用 [2019/12/21 11:25] zhangzheng |
乘法器实验_乘法器使用 [2020/07/02 16:55] zgf [实验八:乘法器实验——乘法器IP核的调用] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | [[http://www.cnblogs.com/xiaomagee/p/7416651.html]] | + | |
+ | | **银杏科技有限公司旗下技术文档发布平台** |||| | ||
+ | |技术支持电话|**0379-69926675-801**||| | ||
+ | |技术支持邮件|Gingko@vip.163.com||| | ||
+ | |技术论坛|http://www.eeschool.org||| | ||
+ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
+ | | V1.0 | 2020-07-02 | gingko | 初次建立 | | ||
+ | |||
+ | |||
+ | ===== 实验八:乘法器实验——乘法器IP核的调用 ===== | ||
+ | |||
+ | ==== 一、 实验目的与意义 ==== | ||
+ | |||
+ | - 了解乘法器。 | ||
+ | - 掌握调用乘法器IP核的用法。 | ||
+ | - 掌握QuartusII集成开发环境的的使用方法。 | ||
+ | ==== 二、 实验设备及平台 ==== | ||
+ | |||
+ | - iCore4 双核心板[[https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22598974120.15.5923532fsFrHiE&id=551864196684|点击购买]]。 | ||
+ | - Blaster(或相同功能)仿真器[[https://item.taobao.com/item.htm?id=554869837940|点击购买]]。 | ||
+ | - Micro USB线缆。 | ||
+ | - QuartusII开发平台。 | ||
+ | - 电脑一台。 | ||
+ | ==== 三、 实验原理 ==== | ||
+ | * 通过FPGA的一个I/O口连接开发板上的LED:设定I/O为输出模式。调用内部乘法器IP核完成计算后,改变输出LED的状态。 | ||
+ | ==== 四、 实验步骤 ==== | ||
+ | |||
+ | 1、新建工程,并新建verilog文件,本例程仍然按模块划分非三个verilog文件。然后打开Tool->Megawizard Plug-In Manager。如下图所示。 | ||
+ | {{ :icore4:icore4_fpga_8_1.png?direct |图8-1}} | ||
+ | 2、选择第一个选项新建,点击Next。如下图所示, | ||
+ | {{ :icore4:icore4_fpga_8_2.png?direct |图8-2}} | ||
+ | 3、在左侧的栏里Arithmetic文件夹下找到并选中LPM_MULT,在框1处选择Verilog HDL,再点击框2中按钮选择存放目录,如下图所示。然后点击Next。 | ||
+ | {{ :icore4:icore4_fpga_8_3.png?direct |图8-3}} | ||
+ | {{ :icore4:icore4_fpga_8_4.png?direct |图8-4}} | ||
+ | 4、在框1处选择乘法器输入数据的宽度,此处以8位宽度为例,如下图所示,然后点击Next。 | ||
+ | {{ :icore4:icore4_fpga_8_5.png?direct |图8-5}} | ||
+ | 5、接下来的几页保持默认设置直接点击Next,最后点击Finish即可。 | ||
+ | {{ :icore4:icore4_fpga_8_6.png?direct |图8-6}} | ||
+ | {{ :icore4:icore4_fpga_8_7.png?direct |图8-7}} | ||
+ | {{ :icore4:icore4_fpga_8_8.png?direct |图8-8}} | ||
+ | {{ :icore4:icore4_fpga_8_9.png?direct |图8-9}} | ||
+ | 6、此时就完成了乘法器的创建。在程序中调用该乘法器即可实现乘法器功能。相关代码如下。 | ||
+ | <code verilog> | ||
+ | //---------------实例化mult模块并调用该模块进行乘法器运算---------------// | ||
+ | my_mult u1( | ||
+ | .dataa(a), | ||
+ | .datab(a), | ||
+ | .result(out) | ||
+ | ); | ||
+ | //---定义fpga_ledg与乘法器输出的第六位状态(为0时led点亮)保持相应一致---// | ||
+ | wire [15:0]out; | ||
+ | assign fpga_ledg = out[6]; | ||
+ | </code> | ||
+ | 7、接着完成相关配置、引脚分配、编译等工作后,将配置文件下载至iCore4开发板。\\ | ||
+ | 8、接着按照前面教程所述,使用Signaltap II采集乘法器的输入输出信号,观察是否与程序描述一致。 | ||
+ | ==== 五、 实验现象 ==== | ||
+ | - Signaltap II采集到的信号与Verilog描述功能一致。 | ||
+ | - iCore4上与FPGA相连的绿色LED灯闪烁。 | ||
+ | - |