目前网上只有ucf文件,vivado不兼容ucf格式

使用c++字符串转换的xdc格式代码

set_property -dict { PACKAGE_PIN R7   IOSTANDARD SSTL18_II  } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN V6 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN R8 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN U7 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN V7 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN R6 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN U6 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN R5 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN T5 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN U3 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN V5 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN U4 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN V4 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN T4 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN V1 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN T3 IOSTANDARD SSTL18_II } [get_ports { ddr2_dq[] }];
set_property -dict { PACKAGE_PIN T6 IOSTANDARD SSTL18_II } [get_ports { ddr2_dm[] }];
set_property -dict { PACKAGE_PIN U1 IOSTANDARD SSTL18_II } [get_ports { ddr2_dm[] }];
set_property -dict { PACKAGE_PIN U9 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_dqs_p[] }];
set_property -dict { PACKAGE_PIN V9 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_dqs_n[] }];
set_property -dict { PACKAGE_PIN U2 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_dqs_p[] }];
set_property -dict { PACKAGE_PIN V2 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_dqs_n[] }];
set_property -dict { PACKAGE_PIN N6 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN K5 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN R2 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN N5 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN L4 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN N1 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN M2 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN P5 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN L3 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN T1 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN M6 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN P4 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN M4 IOSTANDARD SSTL18_II } [get_ports { ddr2_addr[] }];
set_property -dict { PACKAGE_PIN R1 IOSTANDARD SSTL18_II } [get_ports { ddr2_ba[] }];
set_property -dict { PACKAGE_PIN P3 IOSTANDARD SSTL18_II } [get_ports { ddr2_ba[] }];
set_property -dict { PACKAGE_PIN P2 IOSTANDARD SSTL18_II } [get_ports { ddr2_ba[] }];
set_property -dict { PACKAGE_PIN L6 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_ck_p[] }];
set_property -dict { PACKAGE_PIN L5 IOSTANDARD DIFF_SSTL18_II } [get_ports { ddr2_ck_n[] }];
set_property -dict { PACKAGE_PIN N4 IOSTANDARD SSTL18_II } [get_ports { ddr2_ras_n }];
set_property -dict { PACKAGE_PIN L1 IOSTANDARD SSTL18_II } [get_ports { ddr2_cas_n }];
set_property -dict { PACKAGE_PIN N2 IOSTANDARD SSTL18_II } [get_ports { ddr2_we_n }];
set_property -dict { PACKAGE_PIN M1 IOSTANDARD SSTL18_II } [get_ports { ddr2_cke[] }];
set_property -dict { PACKAGE_PIN M3 IOSTANDARD SSTL18_II } [get_ports { ddr2_odt[] }];
set_property -dict { PACKAGE_PIN K6 IOSTANDARD SSTL18_II } [get_ports { ddr2_cs_n[] }];

使用C++写的转换代码(修改参数可以对任何代码使用)

#include <iostream>
#include <string> using namespace std; //set_property -dict { PACKAGE_PIN J15 IOSTANDARD LVCMOS33 } [get_ports { SW[0] }]; //NET "ddr2_addr[10]" LOC = "R2" | IOSTANDARD = SSTL18_II ; string stringConver(string a) {
string port;
string pin;
string type; int length = a.length(); int i = ;
for (; i < length; i++) {
if (a[i] == '"') {
port = a.substr(, i - );
break;
}
} for (i++; i < length; i++) {
if (a[i] == '"') {
pin = a.substr(i+, );
break;
}
} for (i++; i < length; i++) {
if (a[i] == '=') {
i++;
for (int j =;; j++) {
if (a[i + j] == ' ') {
type = a.substr(i+, j);
return (string)"set_property -dict { PACKAGE_PIN " + pin + " IOSTANDARD " + type + " } [get_ports { " + port + " }];";
}
}
}
}
return "";
} int main() { string proto[]; for (int i = ; i < ; i++) {
getline(cin, proto[i]);
} for (int i = ; i < ; i++) {
cout << stringConver(proto[i]) << endl;
} system("pause");
return ;
}

Nexys4 DDR MIG控制器引脚文件的更多相关文章

  1. angular ,require.js, angular-async-loader实现单页面路由,控制器js文件分离

    https://github.com/heboliufengjie/appRoute/tree/re re 分支,实现,路由配置,控制器js文件分离

  2. dubbo控制器xml文件报错

    在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心. 报错信息如下: Multiple annotations found at th ...

  3. 基于MIG IP核的DDR3控制器(一)

    最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧 ...

  4. Xilinx FPGA引脚txt文件导入excel中

    需求 为了把xilinx FPGA的官方引脚文件txt转成excel文件(实际官网中有对应的csv文件就是excel文件了...) xilinx FPGA引脚地址:https://china.xili ...

  5. Xilinx 7系列例化MIG IP core DDR3读写

    昨晚找了一下,发现DDR3读写在工程上多是通过例化MIG,调用生成IPcore的HDL Functional Model.我说嘛,自己哪能写出那么繁琐的,不过DDR读写数据可以用到状态机,后期再添砖加 ...

  6. 【接口时序】8、DDR3驱动原理与FPGA实现(一、DDR的基本原理)

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:无 3.仿真工具:无 硬件平台: 1. FPGA型号:无 2. DDR3型号:无 二. 存储器的分类 存储器一 ...

  7. 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...

  8. Bootstrap文件上传插件File Input的使用

    基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用 Bootstrap文件上传插件File Input是一个不错的文件上传控件, ...

  9. 利用T4模板生成ASP.NET Core控制器的构造函数和参数

    前言 在ASP.NET Core中引入了DI,并且通过构造函数注入参数,控制器中会大量使用DI注入各种的配置参数,如果配置注入的参数比较多,而且各个控制器需要的配置参数都基本一样的话,那么不断重复的复 ...

随机推荐

  1. sublime text 怎么浏览包

    点击到设置里 里面有个包浏览.

  2. opennebula onenebula

    http://www.eucalyptus.com/blog/2013/01/07/opennebula-38-%E2%80%94-%E7%9B%91%E6%8E%A7 [云监控] http://ww ...

  3. C# 有关控件、自定义类事件中的委托链的获取、移除操作

    直接来代码吧,这样干脆直接,也不耽误我午休了.一切尽在源码中. public class ControlEventTool { /// <summary> /// 移除控件的某类事件, 如 ...

  4. delphi BLE 后台

    http://codeverge.com/embarcadero.delphi.ios/

  5. Linux监控和安全运维 2.0 zabbix配置邮件告警

    1.发邮件启动postfix /etc/init.d/postfix start mail -s @qq.com < /etc/inittab mailq 查看发送结果 2.配置发邮件文件 mk ...

  6. WOW研究资料收集

    1,模拟服务器:trinity core, sunwell core等 参考:逍遥魔兽 2,大芒果:通用网游框架,带了WOW的模拟模块 参考资料: 大芒果论坛http://www.mangoscn.c ...

  7. Cross-Browser, Event-based, Element Resize Detection(转)

    DOM Elements! Y U No Resize Event? During your coding adventures, you may have run into occasions wh ...

  8. 增强MyEclipse提示功能

    当我们使用MyEclipse编辑代码的时候按住“Ctrl+/”,就能获得代码提示,或者使用“.”的时候就会“点”出属性或方法等,而且提示还会有延迟. 如果我们想无论是按下“.”.“Ctrl+/”甚至是 ...

  9. iOS 布局之 Springs and Struts

    “springs and struts” 模式,就是代码中的autosizing masks布局控制. autosizing mask决定了一个view会发生什么当它的superview 改变大小的时 ...

  10. 遍历List集合时,删除数据的问题

    一.问题描述 有时候,我们会遇到在遍历List集合的过程中删除数据的情况. 看着自己写的代码,感觉完全没有问题,但就是达不到预期的效果,这是为什么呢?下面我们来分析下 String str1 = ne ...