上一页 1 ··· 18 19 20 21 22
摘要: 转自:http://hsanyi.blog.163.com/blog/static/55022325201261524922278/在MATLAB中算出了一个十进制的数组(有几百个单元),如何把这些十进制的书转化为16进制呢?如果是正数直接使用dec2hex函数。如果是负数,将其转换为反码再用dec2hex。转换规则:对N位二进制表示的有符号十进制数,其数值范围为-2^(N-1)~2^(N-1)-1,对正数n,对应十六进制数为dec2hex(n);对负数n,对应十六进制数为dec2hex(2^(N+1)+n)。例:a=[-1 10 17 -10 9],需转换为一个字节的十六进制表达。需将其中的 阅读全文
posted @ 2012-12-18 19:07 永不止步,永无止境 阅读(13492) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/jbb0523/article/details/6782800在matlab中有一个滤波器设计和分析工具FDAT,可以通过此工具来对滤波器进行设计。matlab中一些简单的命令:round(x)把x舍入到最近的整数(四舍五入) abs(x)计算x的绝对值 sqrt(x)计算x的平方值 fix(x)把x沿0的方向舍入到最近的整数值 floor(x)把x舍入到比x小的最近的整数ceil(x)把x舍入为比x大的最近的整数要设计滤波器,首先要做的就是要知道各个系数。其实系数我们是可以通过matlab的FDAT工具来进行计算的。步骤如下:(1)先打开mat 阅读全文
posted @ 2012-12-16 16:14 永不止步,永无止境 阅读(1774) 评论(0) 推荐(0) 编辑
摘要: 转自:http://forum.eepw.com.cn/thread/180303/1Verilog-2001标准在2001年就发布了,不过翻了一些Verilog书籍,对Verilog-2001的新增特性很少有提及,即使提到了,也只是寥寥数语带过,其实在Verilog-2001中做了很多有用的改进,给编程带来很大的帮助,有必要详细了解。 在Quartus II软件中现在支持的Verilog标准有三类,即Verilog-1995,Verilog-2001,以及SystemVerilog-2005. 具体用那种标准进行编译综合,需要在设置对话框中进行设置 下面对Verilog-2001新增特性进行 阅读全文
posted @ 2012-12-13 15:38 永不止步,永无止境 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 转自:http://forum.eepw.com.cn/thread/180303/1今天要用Verilog建立一个器件的行为模型,涉及到有符号数的加减和乘法运算,因此查阅了些相关资料,觉得不错,转载于此。执行算术操作和赋值时,注意哪些操作数为无符号数、哪些操作数为有符号数非常重要。无符号数存储在:*线网*一般寄存器*基数格式表示形式的整数有符号数存储在:*整数寄存器*十进制形式的整数下面是一些赋值语句的实例:reg[0:5]Bar;integerTab;...Bar=-4'd12;//寄存器变量Bar的十进制数为52,向量值为110100。Tab=-4'd12;//整数Tab 阅读全文
posted @ 2012-12-13 15:02 永不止步,永无止境 阅读(1759) 评论(0) 推荐(0) 编辑
摘要: 转自:http://hojze.blog.163.com/blog/static/10637396520104472146566/在FPGA 设计过程中经常会遇到关于数表示之间的转化问题,最常见的是无符号数和有符号数之间的转化问题。(1)在FPGA设计过程中,能够很直接的看出数字的位宽,但经常以无符号数的形式输出,在后继的处理中往往要将之转化为有符号数(如:计算频谱):对于一个比特宽度为W的有符号数,其值往往可以表示为(令W = 4):-1*b3*2^3 + b2*2^2 + b1*2^1 + b0*2^0根据这一原理,给出以下Matlab 代码:%%%%%%%%%%%%%%%%%%%%%%% 阅读全文
posted @ 2012-12-13 14:59 永不止步,永无止境 阅读(993) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/yuphone/archive/2010/12/12/1903647.html假设读者已经掌握:可编程逻辑基础Verilog HDL基础使用Verilog设计的Quartus II入门指南使用Verilog设计的ModelSIm入门指南内容1 概述在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合;也可以使用有符号数,即包括0和正负数的集合。在更加复杂的系统中,也许这两种类型的数,我们都会用到。有符号数通常以2的补码形式来表示。图1列出了4位二进制表示法所对应正负数。进一步观察,我们发现两种类型数的加减法是一样的,做加法 阅读全文
posted @ 2012-12-10 22:14 永不止步,永无止境 阅读(985) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/haigege/archive/2011/09/28/2194687.html《数字系统设计与Verilog HDL》上面有这么一段代码,用于实现8位4级流水线加法器。module adder8pip(cout,sum,cin,ina,inb,clk );input cin,clk;input [7:0] ina,inb;output cout;output [7:0] sum;reg cout,tempcin;reg [7:0] sum,tempa,tempb;reg firstco,secondco,thirdco; //前三级加法... 阅读全文
posted @ 2012-12-10 22:04 永不止步,永无止境 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 一、短数据类型扩展为长数据类型1、要扩展的短数据类型为有符号数进行符号扩展,即短数据类型的符号位填充到长数据类型的高字节位(即比短数据类型多出的那一部分),保证扩展后的数值大小不变如1:char x=10001001b;short y=x;则y的值应为11111111 10001001b; 2:char x=00001001b; short y=x; 则y的值应为00000000 00001001b;2、要扩展的短数据类型为无符号数 进行零扩展,即用零来填充长数据类型的高字节位如1:unsigned char x=10001001b;short y=x;则y的值应为00000000 10001 阅读全文
posted @ 2012-12-10 09:58 永不止步,永无止境 阅读(3334) 评论(0) 推荐(2) 编辑
摘要: wire表示直通,即只要输入有变化,输出马上无条件地反映;reg表示一定要有触发,输出才会反映输入。 不指定就默认为1位wire类型。专门指定出wire类型,可能是多位或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。 在连续赋值语句中,表达式右侧的计算结果可以立即更新表达式的左侧。在理解上,相当于一个逻辑之后直接连了一条线,这个逻辑对应于表达式的右侧,而这条线就对应于wire。在过程赋值语句中,表达式右侧的计算结果在某种条件的触发下放到一个变量当中,而这个变量可以声明成reg类型的。 阅读全文
posted @ 2012-12-05 15:12 永不止步,永无止境 阅读(3903) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22