打印

CHIPSCOPE能生成连续的批量数据吗

[复制链接]
4417|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoxiaofeifan|  楼主 | 2011-2-20 00:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感谢版主之前的回复。CHIPSCOPE进行测试的方法基本清楚了。我现在在做一个批量数据的加密算法设计工作。加密算法已经写好了,现在在测试中要加入大量的输入数据进行连续加密测试。加密数据为128位。我本想用VIO生成测试数据,似乎VIO只能一次连续的进行16个数据输出。想问问:
1.如何连续产生大量不同的数据输入到设计中去对设计进行验证,用VIO也行,用别的方式也行;
2.手头有个ML605的xilinx原厂板子,想把写好的加密算法在板上进行验证,是不是需要先把写好的程序封装成IP核,然后加输入数据进行测试。板上测试加输入数据,不知道用何种方案实现。我想应该有类似的数据处理,使用FPGA进行大量数据处理,这种系统在调试的时候是如何产生大量数据进行板上验证的呢?
小弟初来乍到,有很多不明白的问题,还望版主和各位大侠不吝施教。

相关帖子

沙发
linas| | 2011-2-20 20:25 | 只看该作者
:$

使用特权

评论回复
板凳
爱在2012| | 2011-2-20 20:46 | 只看该作者
我是来学习的,帮顶吧。

使用特权

评论回复
地板
dan_xb| | 2011-2-21 12:21 | 只看该作者
VIO可以生成测试向量流的,在生成VIO的时候可以选,好像最多16个数据还是32个,不记得了

使用特权

评论回复
5
xiaoxiaofeifan|  楼主 | 2011-2-21 14:06 | 只看该作者
目前看到的是16个向量流,但是也只能一次生成,好像也无法连续生成。

使用特权

评论回复
6
dianzirobot| | 2011-2-21 14:10 | 只看该作者
我也来学习

使用特权

评论回复
7
coco11| | 2011-2-21 14:12 | 只看该作者
16个

使用特权

评论回复
8
SuperX-man| | 2011-2-22 12:19 | 只看该作者
你那些输入数据只要位数一致,其他没有什么要求么?
通过随机数产生数据,然后做简单的位数处理,然后一路可以送到BRAM里去保存起来,一路送去加密,然后你再验证.

使用特权

评论回复
9
SuperX-man| | 2011-2-22 13:40 | 只看该作者
或者更简单点,自己在生成一个很大的随机数序列,然后导入到BRAM中,在弄个计数器让其顺序改变地址让BRAM输出

使用特权

评论回复
10
xiaoxiaofeifan|  楼主 | 2011-2-22 15:57 | 只看该作者
你那些输入数据只要位数一致,其他没有什么要求么?
通过随机数产生数据,然后做简单的位数处理,然后一路可以送到BRAM里去保存起来,一路送去加密,然后你再验证. ...
SuperX-man 发表于 2011-2-22 12:19

位数一致,其他没什么要求。
在板上测试中可用的随机数如何生成?

使用特权

评论回复
11
SuperX-man| | 2011-2-22 16:31 | 只看该作者
俄.这个很简单拉,弄一个数学公式,有小数,除不尽,然后循环,当然啦,你需要加有个强制位数转换的代码(也简单).
下面是小版我给你找的一个别人写的代码,你参考下.如果你装了ISE的话,可以在METLAB中用XILINX的模块搭,而且有强制转换的模块.然后生成VHDL加到你工程里去.
procedure RANDOM (variable Seed: inout integer; variable X: out real) is
----------------------------------------------------------------------
-- Random Number generator from:
-- The Art of Computer Systems Performance Analysis, R.Jain 1991 (p443)
-- x(n) := 7^5x(n-1) mod (2^31 - 1)
-- This has period 2^31 - 2, and it works with odd or even seeds
-- This code does not overflow for 32 bit integers.
----------------------------------------------------------------------
constant a : integer := 16807; -- multiplier 7**5
constant m : integer := 2147483647;-- modulus 2**31 - 1
constant q : integer := 127773; -- m DIV a
constant r : integer := 2836; -- m MOD a
constant m_real : real := real(M);

variable seed_div_q : integer;
variable seed_mod_q : integer;
variable new_seed : integer;

begin
seed_div_q := seed / q; -- truncating integer division
seed_mod_q := seed MOD q; -- modulus
new_seed := a * seed_mod_q - r * seed_div_q;
if (new_seed > 0) then
seed := new_seed;
else
seed := new_seed + m;
end if;
X := real(seed) / m_real;
end RANDOM;
代码转载于:http://www.edaboard.com/thread16789.html

使用特权

评论回复
12
xiaoxiaofeifan|  楼主 | 2011-2-22 16:38 | 只看该作者
或者更简单点,自己在生成一个很大的随机数序列,然后导入到BRAM中,在弄个计数器让其顺序改变地址让BRAM输出
SuperX-man 发表于 2011-2-22 13:40

我的想法是预先准备好一些测试数据装入BRAM,然后导入到加密模块中。但是如果是具体的数据,不知道综合工具会不会根据RAM内的数据对加密模块的某些单元进行优化综合掉部分电路,从而使得加密模块发生变化?

使用特权

评论回复
13
SuperX-man| | 2011-2-22 16:53 | 只看该作者
外加一个BRAM一个计数器,应该不会影响你后面的加密的构架的吧,而且你既然之前已经仿真成功了,现在综合的话应该不会有太大问题的.你不放心的话,在你综合完成以后,查看RTL,可以看出你的构架是否有变化.

使用特权

评论回复
14
xiaoxiaofeifan|  楼主 | 2011-2-22 17:02 | 只看该作者
外加一个BRAM一个计数器,应该不会影响你后面的加密的构架的吧,而且你既然之前已经仿真成功了,现在综合的话应该不会有太大问题的.你不放心的话,在你综合完成以后,查看RTL,可以看出你的构架是否有变化. ...
SuperX-man 发表于 2011-2-22 16:53

1、XST的综合结果有很多不可预测的因素。之前嫌BRAM麻烦,做了一个状态机生成几个数据和加密模块相连,结果在综合的时候,根据状态机的数据和加密模块自身的特性综合掉了很多电路。
2、如果把加密模块做成balckbox的不知道行不行,但是一些内部信号可能又无法观察了。
3、加密模块的输入是128位的数据,综合完成以后想对部分电路看RTL都不可得,只能看看大概的架构。这种大模块应该有固定的测试方案吧!

使用特权

评论回复
15
SuperX-man| | 2011-2-22 17:28 | 只看该作者
不优化也可以阿,你相应增加KEEP语句.
在ISE 的 SOFTWARE MANUAL里有详细的说明:在132页
Software Manuals在你开始->ISE12.4->ISE designer tool->documentation下

使用特权

评论回复
16
xiaoxiaofeifan|  楼主 | 2011-2-22 21:36 | 只看该作者
不优化也可以阿,你相应增加KEEP语句.
在ISE 的 SOFTWARE MANUAL里有详细的说明:在132页
Software Manuals在你开始->ISE12.4->ISE designer tool->documentation下
SuperX-man 发表于 2011-2-22 17:28

我的理解是 在综合的时候保持层级就行了  在综合选项中把keep Hierarchy选上就行了?勾选之后每个模块分别综合,不再打平做优化了吧!
版主的ISE都升级到12.4了,太强了。我还在用12.2。

使用特权

评论回复
17
SuperX-man| | 2011-2-23 11:02 | 只看该作者
既然你能用12.2 ,那么更新到12.4也没问题啊.12.4现在已经在官网开放下载了.
KEEP 你可以把你认为的重要的信号线,这样相应的模块也就保留下来了.你那样我没有试过.

使用特权

评论回复
18
xiaoxiaofeifan|  楼主 | 2011-2-24 11:10 | 只看该作者
不优化也可以阿,你相应增加KEEP语句.
在ISE 的 SOFTWARE MANUAL里有详细的说明:在132页
Software Manuals在你开始->ISE12.4->ISE designer tool->documentation下
SuperX-man 发表于 2011-2-22 17:28

暂时电脑没法升级 哪天下个12.4版  ISE 的那个手册的编号是什么?暂时没有找到,keep的说明应该是XST部分的user guides吧?

使用特权

评论回复
19
SuperX-man| | 2011-2-24 11:22 | 只看该作者
就在software manuals里阿,安装了ISE的都有.按照我给你的方式就能看到,或者你打开ISE,在HELP菜单下面就有software manuals.

使用特权

评论回复
20
xiaoxiaofeifan|  楼主 | 2011-2-24 11:28 | 只看该作者
哎,我的没有呢。我的版本是14页的,我都在官网上把相关的文档下下来了,然后拷贝到目录中,PlanAhead的software manuals就是这样放进去的。所以我一般都看软件手册的编号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

30

帖子

1

粉丝