与xilinx/atera类似,microchip也有自己的基础 IP core,例如常用的pll,fifo,ram等,本文将一步步解析ipcore如何配置及使用,一文读懂常用IP core配置与仿真。
1.IP core的在线下载
点击左下导航菜单Catalog,现在当前支持的ipcore,显示的ipcore基本都为灰色,属于未下载状态,当需要使用某个ip core时,可以找到对应的ip,双击ip core未完成下载,下载后的IPcore会变成黑色。
这里双击下载了一个PLL时钟的ip core;其余的ip core类似,即下即用;
2.PLL ipcore的使用
2.1 双击PLL ipcore 修改ip core name,help菜单可打开当前IPcore的说明文档;这里修改名称为PLL_50M_25M
2.2 配置PLL输入输出时钟;完成后点击OK
2.3 例化PLL ipcore(这里简单示例)
2.4 编译仿真ip core,仿真波形如下,完成时钟2分频;
3.Fifo ipcore的使用
3.1 FIFO ipcore与PLL类似,下载配置不做过多赘述;
3.2 FIFO ipcore配置:小容量可选uSRAM,大容量可选LSRAM,不要选Controler only,要不然只会有控制器,没有内部ram;其余信号按需配置即可,
3.3 我这里选择了FWFT类型的fifo,如果是常规FIFO;选择Pipline和Non Pipline数据输出会相差一个时钟周期;配置完成后例化进工程,仿真即可;
4.Ram ipcore的使用
4.1 RAM与FIFO类似,这里选择了双端口RAM;可根据需求配置并仿真;
4.2 若需仿真也可勾选预置填充数据,可自行配置地址对应的初始数据;
4.3 RAM生成后自行例化然后仿真即可,前文已提及如何仿真,在此不做过多赘述;
updata_ram_w8r8_d2048 u_updata_3m0( .WCLK (pic_clk ), .WEN (fifo_wr_en ), .WADDR (fifo_wr_addr ), .WD (fifo_wr_data ), .RCLK (pic_clk ), .REN (fifo_rd_en ), .RADDR (fifo_rd_addr ), .RD (ram_rd_dat1_d8 ) );