ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用 TCL 脚本添加 ip

2020-09-13 17:00:53  阅读:488  来源: 互联网

标签:上图 false ip TCL 添加 定制 CONFIG 对应


使用 TCL 脚本添加 ip

以 BRAM 为例定制化 ip

以下为 tcl 脚本代码示例,用前需要删除注释

DeepinScreenshot_select-area_20200913112402

image-20200913113119234

image-20200913164643244

create_ip \
-name blk_mem_gen \ # 这里指定的是要加入的 ip 的类型名
-vendor xilinx.com -library ip \
-module_name blkm \ # 这里指定的是定制化 ip 后,类似于 verilog 中 module 的名字
-dir $ipdir -force
set_property -dict [list \
	CONFIG.Interface_Type {Native} \ # 对应上图中的 A
	CONFIG.Memory_Type {True_Dual_Port_RAM} \ # 对应上图中的 B
	CONFIG.ecctype {No_ECC} \ # 对应上图中的 C
	CONFIG.Algorithm {Minimum_Area} \ # 对应上图中的 D
	CONFIG.Primitive {8kx2} \ # 对应上图中的 E
	CONFIG.Write_Width_A {34} \  # 对应上图中的 F
	CONFIG.Read_Width_A {34} \ # 对应上图中的 G
	CONFIG.Write_Depth_A {10081} \ # 对应上图中的 H ## 此属性只用配置这一个 则 A 的读深度和 B 的读写深度都确定了
	CONFIG.Operating_Mode_A {READ_FIRST} \ # 对应上图中的 I
	CONFIG.Enable_A {Use_ENA_Pin} \ # 对应上图中的 J
	CONFIG.Register_PortA_Output_of_Memory_Core {false} \ # 对应上图中的 K
	CONFIG.Register_PortA_Output_of_Memory_Primitives {false} \ # 对应上图中的 L
	CONFIG.Use_RSTA_Pin {false} \ # 对应上图中的 M
	CONFIG.Output_Reset_Value_A {0} \ # 对应上图中的 N
	# B 端口的配置与 A 类似 故不赘述
	CONFIG.Load_Init_File {true} \ # 对应上图中的 O
	CONFIG.Coe_File {/home/rv/riscv/test/test1/test1.srcs/sources_1/ip/blk_mem_gen_0/TEST.coe} \ # 对应上图中的 P
	] [get_ips blkm] # 这里要和上面的

如何寻找 tcl 中 ip 定制化所需要的属性名

建议新建一个小工程,然后通过定制化特定的 ip 的属性值,然后在形如下图的路径下找到 ip 的 xci 文件

image-20200913165328506

然后,根据特定的值,找到 ip 定制化所需要的属性名

标签:上图,false,ip,TCL,添加,定制,CONFIG,对应
来源: https://www.cnblogs.com/aeroman/p/13662040.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有