查看: 1107|回复: 25
打印 上一主题 下一主题

【语言求助】在学习verilog语言过程中遇到的疑问(二)

[复制链接] qrcode

4

主题

7

帖子

20

积分

新手上路

Rank: 1

积分
20
楼主
跳转到指定楼层
发表于 2006-4-9 08:58 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先在这里再次对版主给我的答复表示感谢!
随着对Verilog学习的进行,又遇到了一些问题,谢各位牛人指导:
12.拼接符的作用是什么?为什么说合理地使用拼接符可以提高程序的可读性和可维护性?拼接符表示的操作其物理意义是什么?
13.如果在顺序块中,前面有一条语句是无限循环,下面的语句能否进行?
14.forever语句如果运行了,在它下面的语句能否运行?它位于begin end块和位于fork join块有什么不同?
15.forever语句repeat语句能否独立于过程块而存在,即能否不在initial或always块中使用?
16.用for循环为存储器许多单元赋值时是否需要时间?为什么如果不定义时间延迟,它可以不南非要时间就把不管多大的储存器赋值完毕?
17.for循环是否可以表示可以综合的组合逻辑?请举例说明。
18.在编写测试模块时,用什么方法可以使for循环按照时钟的节拍运行?请比较:
always@(posedge clk)
begin
for(i=0;i<=1024;i=i+1)
mem[i]=i;
end这样写能不能按照时钟节拍来对mem[i]赋值?下边的程序呢?
initial
begin
for(i=0;i<=1024;i=i+1)
begin
mem[i]=i;
@(posedge clk);
end
end

谢谢大家的指点!
回复

使用道具 举报

0

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
沙发
发表于 2006-4-15 03:35 AM | 只看该作者
当然不能了                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
板凳
发表于 2006-4-15 03:41 AM | 只看该作者

16.用for循环为存储器许多单元赋值时是否需要时间?为什么如果不定义时间延迟,它可以不南非要时间就把不管多大的储存器赋值完毕?

不管多大都不需要时间,这是Verilog的基本特征:task并行执行

17.for循环是否可以表示可以综合的组合逻辑?请举例说明。

可以(例子省略)

18.在编写测试模块时,用什么方法可以使for循环按照时钟的节拍运行?请比较:

always@(posedge clk)

begin

for(i=0;i<=1024;i=i+1)

mem[i]=i;

end这样写能不能按照时钟节拍来对mem[i]赋值?

不行

下边的程序呢?

initial

begin

for(i=0;i<=1024;i=i+1)

begin

mem[i]=i;

@(posedge clk);

end

end

如果是我,更愿意这么作:

initial i=0 ;

always @(posedge clk)

begin

mem[i] = i ;

if (i>=1024) i=0 ;

end

回复 支持 反对

使用道具 举报

9

主题

19

帖子

49

积分

新手上路

Rank: 1

积分
49
地板
发表于 2006-5-22 11:41 AM | 只看该作者

16.用for循环为存储器许多单元赋值时是否需要时间?为什么如果不定义时间延迟,它可以不南非要时间就把不管多大的储存器赋值完毕?

不管多大都不需要时间,这是Verilog的基本特征:task并行执行

17.for循环是否可以表示可以综合的组合逻辑?请举例说明。

可以(例子省略)

18.在编写测试模块时,用什么方法可以使for循环按照时钟的节拍运行?请比较:

always@(posedge clk)

begin

for(i=0;i<=1024;i=i+1)

mem[i]=i;

end这样写能不能按照时钟节拍来对mem[i]赋值?

不行

下边的程序呢?

initial

begin

for(i=0;i<=1024;i=i+1)

begin

mem[i]=i;

@(posedge clk);

end

end

如果是我,更愿意这么作:

initial i=0 ;

always @(posedge clk)

begin

mem[i] = i ;

if (i>=1024) i=0 ;

end

回复 支持 反对

使用道具 举报

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
5#
发表于 2006-6-15 11:11 AM | 只看该作者

如果是我,更愿意这么作:

initial i=0 ;

always @(posedge clk)

begin

mem[i] = i ;

if (i>=1024)

begin

i=0 ;

end

else

begin

i=i+1

end

end

回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
6#
发表于 2006-8-10 02:43 AM | 只看该作者
呵呵~谢谢!                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
7#
发表于 2006-9-27 11:05 AM | 只看该作者
12.使用拼接可以把多个信号的某些位拼接起来进行运算操作。它使用简单,方便阅读,感觉不错。特别对应物理实现时就是将相关的位线对应连接起来即可,物理实现比较简单                                                                                                                                                                       
回复 支持 反对

使用道具 举报

2

主题

3

帖子

10

积分

新手上路

Rank: 1

积分
10
8#
发表于 2006-10-4 05:27 AM | 只看该作者
在广大朋友的支持下,本站取得了喜人的发展,为答谢大家, 在周年誌庆期间,本站全线产品学生客户以及本站老客户可享受8.8折!
一:特色:
1、 多款FPGA核心板可选:EP1C6、EP1C12、EP2C5、EP2C8核心板;
SDRAM:64Mbit SDRAM;
FLASH:16Mbit(可升级到32Mbit);
配置芯片:EPCS1或EPCS4;
I2C EEPROM;
50Mhz有源时钟等;
提供配置模式:JTAG和AS;
所有IO、Avalon总线、配置管脚等都通过4排插针引出,用户可以充分自由发挥,扩展更灵活。
2、 实验板3.0
配备:
★RS-232串口:用于与计算机的数据通信;
★VGA接口:直接VGA与显示器对接,用FPGA实现VGA接口协议可在显示器上显示文字、图型等;
★PS/2鼠标,键盘接口:标准鼠标,键盘接口,提供的例程用VHDL实现在数码管上同时显示键盘扫描码和ASCII码,也可结合SOPC编程使其显示在LCD上;
★16*2字符型LCD:可以显示英文字符和自定义字符;
★128*64图形式LCD:可以显示中文、图形等;
★蜂鸣器:使用NIOSS II定时器中断编程产生特定波形,可奏出各式乐曲如:北国风光,康定情歌...
★两个USB:
(1)采用USB-UART桥接芯片CP2102,兼容USB1.1和USB2.0协议,最高通信速率为1Mbps,抗干扰性能好,可直接用于通信速率要求不是很高的场合,如工控设备、仪器仪表等,方便实用;
(2)USB1.1实验接口,直接扩展FPGA的IO到USB接口,用于评估FPGA上实现USB Controler的功能。
★4位7段数码管:分别提供用VHDL和NiosII实现动态扫描的程序,用VHDL实现自动动态扫描,不占用CPU处理时间。
★4个按键开关:同样秉承简约风格,不追求多,但求简约,节省有限的IO资源,用于NiosII的外部按键输入、中断等实验足矣。

3、其它配件:
(1) ByteBlasterII下载线;
(2) USB线;
(3) 5V开关电源;
(4) 用户手册以及详细的入门教程;
(5) 齐全的软件、文档资料等;
(6) 详尽电路原理图;
(7) 1602A字符LCD,(选配,仅需20元);
(8) 128*64图形LCD,(选配,仅需80元);

详情请登陆:http://21control.com/

三、特点:
(一) 设计独特,既适合学生学习使用,也适合于实际项目设计中快速搭建系统原型以验证设计方案。核心板(EP1C6型V2.0)实际上是一块独立的SOPC最小系统板,SDRAM和Flash都集成在核心板上,用户甚至可以用面包板制作特定项目所需的外围电路,并插上该核心板就构成了一个完整的项目系统原型。另外,如果项目试验中只需用到FPGA功能(即无需定制Nios系统),则可以将SDRAM和Flash卸下,核心板就成了一个将所有FPGA的IO管脚引出的FPGA核心板,同样可用于快速搭建项目系统原型。
(二) 模块化结构,简单明了,有详尽文档、教程,真正适合初学者。经验表明,很多学生在学习FPGA、ARM、DSP等设计技术的过程中,虽然刚开始学习热情很高,但真正能坚持下来一直到“学会”的却只有寥寥几个。除了学生个人的毅力因素的原因外,另外一个更主要的原因是由于所选用的学习板不适合初学者学习使用。对于初学者来说,理解和消化开发板并不容易(事实上如果能达到这种程度的话,也就没必要借助学习板了),再加上这些开发板在文档资料、教程上都非常欠缺
,有些几乎连说明文档都没有,这就给学生们的学习增添了更多的困难,很多学生会因为找不到入门的口子而慢慢失去兴趣和信心。我们从初学者的角度出发,尽量明了化学习套件的设计,并针对学习套件编写详尽的说明文档和教程,希望学生从简单到深入地理解开发的过程,并能快速地跨入这个门槛,建立起学习的信息和兴趣。
(三) 具有可持续学习性。传统的学习板将FPGA与实验电路集成一体,虽然预留了一些FPGA的I/O给学生扩展用,但预留的I/O有限,当学生学习到一定程度并初步具备自主设计能力的时候,这样的学习板显然已经不能满足进一步学习的要求。我们采用FPGA核心板与实验板相分离的结构,核心板主要由FPGA芯片和电源、配置芯片和时钟源组成,即FPGA的最小系统组成,FPGA的所有I/O都以核心板的插针引出。当学生初步具备自主设计能力的时候,可以自主设计
实现更复杂功能的实验板,并将核心板插接到自主设计的实验板的插座上,即可利用FPGA的所有I/O。
(四)价格低,真正面向广大学习者,特别是在校学生。


详情请登陆 http://21control.com

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

1

主题

5

帖子

13

积分

新手上路

Rank: 1

积分
13
9#
发表于 2006-11-14 10:01 AM | 只看该作者
很不错,支持一下、                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
10#
发表于 2006-11-29 10:43 AM | 只看该作者
initial i=0 ;

always @(posedge clk)

begin

mem[i] = i ;

if (i>=1024)

begin          // 我对这部分有点疑问这个部分用加BEGIN...END吗.

i=0 ;

end

else

begin          // 我对这部分有点疑问这个部分用加BEGIN...END吗.


i=i+1

end

end
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表