【蜂鸟E203的FPGA验证】Chap.7 Vivado综合性能分析-建立Vivado工程
- 0. Vivado与综合
- 1. 建立Vivado工程
- 2. 导入Verilog RTL源代码
- 3. 时钟管理-DDR200T开发板
- 4. 引脚约束
本文均为作者原创,内容均来自本人毕业设计。未经授权严禁转载使用。里面的插图和表格都是作者自己制作的。如需转载,请联系我并注明参考。分享仅供您学习和交流。 建立Vivado本项目的详细步骤以看到之前的博客
Vivado 蜂鸟 e203 MCU200T/DDR200T 逻辑综合 RISC-V 详细教程 https://blog.csdn.net/qq_43858116/article/details/123648746 Vivado 蜂鸟 e203 烧录下载MCU200T/DDR200T FPGA-FLASH里 bit/mcs/bin文件 详细教程 RISC-V https://blog.csdn.net/qq_43858116/article/details/124152615
0. Vivado与综合
??将硬件描述语言转换为由相应的搜索表和寄存器组成的功能电路[15]。本设计基于Xilinx Vivado 2019完成了,Vivado界面如图3-9所示。
1. 建立Vivado工程
2. 导入Verilog RTL源代码
??,从顶部模块e203_cpu_top如图3-10所示,底部各功能模块逐层去例化。因为SRAM包括内存和缓存,不涉及装配线结构的逻辑设计,只有访问存储功能,所以顶层e203_cpu_top例化将逻辑设计与内存分开,两个模块e203_cpu和e203_SRAM分别是E203核心所有装配线逻辑设计部分e203_cpu和存储单元SRAM部分。除了Verilog RTL代码还需要为处理器系统分配负载时钟和负载I/O引脚的物理约束。
3. 时钟管理-DDR200T开发板
- 单端100MHz的时钟,为FPGA子系统的主时钟输入是板载开发板的晶体振动。查询产品手册中的板载原理图,如图3-11所示。
- 单端32.768KHz时钟,蜂鸟E203MCU低速时钟输入是板载开发板的另一个晶体振动。一般处理器的设计有一个重要的单位Hz,一般晶振时钟频率为32.768KHz通过15次分频获得的频率恰好是单元1Hz,也就是计时1秒。本部分的电路图如图3-12所示。
??定义FPGA工程顶层设计模块system_top.v在时序分析中添加两个IP核用于时序仿真时的时钟管理,提供各部分时钟:MMCM( Mixed Mode Clock Manager, 独立混合时钟管理器IP为高性能的FPGA设计提供更高性能的时钟管理功能,PSR(Processor System Reset,如图3-13所示,[20],如图3-13所示。
??使用MMCM将主时钟100MHZ分频为8.388MHz和16MHz,使用PSR创建一个reset复位模块。将相应的时钟添加到顶层设计中的每个模块中,并定义模块的时钟输入。综合添加时钟管理IP后处理器的综合结构如图3-14所示。
4. 引脚约束
??在Vivado建立一个FPGA工程不仅需要增加时钟,还需要增加板载的引脚约束,使之连接到FPGA芯片外部的Pin脚上,从而实现[20],部分如表3-2所示。
Pin引脚 | 端口名称 | 电气属性 |
---|---|---|
W19 | CLK100MHZ | 时钟周期为10us |
Y18 | CLK32768KHZ | 时钟周期为30517.58us |
T6 | fpga_rst | LVCMOS15 |
P20 | mcu_rst | LVCMOS33 |
spi0-FLASH define | ||
W16 | qspi0_cs | LVCMOS33 |
W15 | qspi0_sck | LVCMOS33 |
U16 | qspi0_dq[3] | LVCMOS33 |
T16 | qspi0_dq[2] | LVCMOS33 |
T14 | qspi0_dq[1] | LVCMOS33 |
T15 | qspi0_dq[0] | LVCMOS33 |
MCU JTAG define | ||
N17 | mcu_TDO | LVCMOS33 |
P15 | mcu_TCK | LVCMOS33 |
T18 | mcu_TDI | LVCMOS33 |
P17 | mcu_TMS | LVCMOS33 |
PMU-power define | ||
U15 | pmu_paden | LVCMOS33 |
V15 | pmu_padrst | LVCMOS33 |
N15 | mcu_wakeup | LVCMOS33 |