Nov
30
Xilinx AnswerRecord 5366 讲得非常清楚
1、先决定用几位二进制数来表示。
Maximum value = 2^(N-1)-1
Minimum value = -2^(N-1)
2、将小数归一化(最大的数表示为1)
(coefficients) / max_of_coefficients ( absolute_value_of_coefficients (coefficients) )
3、归一化后的数乘以最大表示数
result = round (normalized_values * 2^(N-1)-1)
总的来说,就是:
result = round (coef/max(abs(coef)) * (2^(N-1)-1))
1、先决定用几位二进制数来表示。
Maximum value = 2^(N-1)-1
Minimum value = -2^(N-1)
2、将小数归一化(最大的数表示为1)
(coefficients) / max_of_coefficients ( absolute_value_of_coefficients (coefficients) )
3、归一化后的数乘以最大表示数
result = round (normalized_values * 2^(N-1)-1)
总的来说,就是:
result = round (coef/max(abs(coef)) * (2^(N-1)-1))
Nov
27
Xilinx文档:Setting Up Designs for Incremental Design
Incremental Design的主要步骤是:
1、设置Enable Incremental(Implement Properities)
2、写XCF文件,并将XCF文件加入Synthesis Properities
3、Cleanup Project Files
4、User Constraints -> Assign Area Constraints 设置Area Group到UCF文件
5、Implement
注意:
1、如果设置了Enable Incremental Design,那么Assign Area Constraints的时候会自动生成Area Groups。这时候只需要指定地方就可以了。
2、XCF文件的语法:
MODEL "top" incremental_synthesis = yes;
MODEL "A" incremental_synthesis = yes;
MODEL "A" resynthesize = yes; --verilog才需要resynthesize
注意,是incremental_synthesis 和resynthesize
Incremental Design的主要步骤是:
1、设置Enable Incremental(Implement Properities)
2、写XCF文件,并将XCF文件加入Synthesis Properities
3、Cleanup Project Files
4、User Constraints -> Assign Area Constraints 设置Area Group到UCF文件
5、Implement
注意:
1、如果设置了Enable Incremental Design,那么Assign Area Constraints的时候会自动生成Area Groups。这时候只需要指定地方就可以了。
2、XCF文件的语法:
MODEL "top" incremental_synthesis = yes;
MODEL "A" incremental_synthesis = yes;
MODEL "A" resynthesize = yes; --verilog才需要resynthesize
注意,是incremental_synthesis 和resynthesize
Nov
25
休假一个星期出去玩了,回来一看,Blog上几千条trackback垃圾信息。手动删可要删到死了,而与此同时,正有人对Blog进行轰炸中。
于是,索性把tb.php删了,一了百了。
垃圾信息通过phpmyadmin把它都删了。用的是liduan.com的方法:
DELETE FROM `boblog_replies` WHERE reproperty = '4'
reproperty = '4' 是已发布的trackback
reproperty = '5' 是要审核的trackback
于是,索性把tb.php删了,一了百了。
垃圾信息通过phpmyadmin把它都删了。用的是liduan.com的方法:
DELETE FROM `boblog_replies` WHERE reproperty = '4'
reproperty = '4' 是已发布的trackback
reproperty = '5' 是要审核的trackback
Nov
15
Compxlib Help in ISE7
Compxlib General Answer Record 15338
Compxlib的文档说明在Synthesis and Simulation design guide (sim.pdf)中。
我用的compxlib命令:
modelsim_pe: compxlib -s mti_se -arch all -dir d:\XilinxLib\ISE82
运行Compxlib前先将modelsim.ini设为非只读,compxlib就能修改modelsim.ini进行map。
相关文章:
Ricky版 ModelSim Tips
Ricky版 FPGA FAQ
Compxlib General Answer Record 15338
Compxlib的文档说明在Synthesis and Simulation design guide (sim.pdf)中。
我用的compxlib命令:
modelsim_pe: compxlib -s mti_se -arch all -dir d:\XilinxLib\ISE82
运行Compxlib前先将modelsim.ini设为非只读,compxlib就能修改modelsim.ini进行map。
相关文章:
Ricky版 ModelSim Tips
Ricky版 FPGA FAQ
Nov
7
整理来源:http://www.edacn.net/index.php/action_viewthread_tid_64616.html
1、语法
声明:
parameter xx = yy;
`define XX YY
使用:
xx
`XX
2、作用域
parameter 作用于声明的那个文件;`define 从编译器读到这条指令开始到编译结束都有效,或者遇到`undef命令使之失效。
如果想让parameter或`define作用于整个项目,可以将如下声明写于单独文件,并用`include让每个文件都包含声明文件:
`ifndef xx
`define xx yy // or parameter xx = yy;
`endif
`define也可以写在编译器最先编译的文件顶部。通常编译器都可以定义编译顺序,或者从最底层模块开始编译。因此写在最底层就可以了。
3、作用
parameter可以用作例化时的参数传递。具体方法参见《Verilog例化时的参数传递》一文
1、语法
声明:
parameter xx = yy;
`define XX YY
使用:
xx
`XX
2、作用域
parameter 作用于声明的那个文件;`define 从编译器读到这条指令开始到编译结束都有效,或者遇到`undef命令使之失效。
如果想让parameter或`define作用于整个项目,可以将如下声明写于单独文件,并用`include让每个文件都包含声明文件:
`ifndef xx
`define xx yy // or parameter xx = yy;
`endif
`define也可以写在编译器最先编译的文件顶部。通常编译器都可以定义编译顺序,或者从最底层模块开始编译。因此写在最底层就可以了。
3、作用
parameter可以用作例化时的参数传递。具体方法参见《Verilog例化时的参数传递》一文





