关于verilog中initial和always的使用问题

我在做一个课程设计,电话计费器,其中要求用户可以通过增减的方式快速设定金额(跟银行卡存取款差不多),打电话的时候还要计费。我的想法是,总体上要用initial,让用户可以... 我在做一个课程设计,电话计费器,其中要求用户可以通过增减的方式快速设定金额(跟银行卡存取款差不多),打电话的时候还要计费。
我的想法是,总体上要用initial,让用户可以选择执行什么功能,整体程序要按顺序进行,不能并行;但在每一个功能里面,还需要用到always语句,比如计费部分是时序电路。好像initial语句不能嵌套always吧,而且always循环还不能退出,那怎么办呢?
展开
 我来答
y彩虹是甜的
高粉答主

2020-10-19 · 女人的感情世界,专注你的感情。
y彩虹是甜的
采纳数:48 获赞数:13623

向TA提问 私信TA
展开全部

verilog描述的是硬件电路,所以initial语句只能用在仿真时测试平台testbench中,可以使用状态机来描述你说的功能。

Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。Verilog HDL是一种硬件描述语言。

用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。

此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。

但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

佳达源
2024-10-23 广告
深圳市佳达源电子有限公司主要经营,电子产品销售:电子元器件批发:电子元器件要售:计算机软硬件及辅助设备批发:计算机软硬件及辅助设备零售;家居用品销售;家具销售;灯具销售;安防设备销售;日用百货销售;厨具卫具及日用杂品零售:日用家电零售:五金... 点击进入详情页
本回答由佳达源提供
我要磨
2020-10-19 · TA获得超过3336个赞
知道答主
回答量:422
采纳率:100%
帮助的人:5.8万
展开全部

这种情况比较复杂,建议在CSDN技术社区网上找到准确的答案。

扩展资料:英语是一种西日耳曼语,在中世纪早期的英国最早被使用,并因其广阔的殖民地而成为世界使用面积最广的语言。英国人的祖先盎格鲁部落是后来迁移到大不列颠地区的日耳曼部落之一,称为英格兰。这两个名字都来自波罗的海半岛的Anglia。该语言与弗里斯兰语和下撒克森语密切相关,其词汇受到其他日耳曼语系语言的影响,尤其是北欧语(北日耳曼语),并在很大程度上由拉丁文和法文撰写。英语已经发展了1400多年。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
314431163
推荐于2016-03-27 · 超过16用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:35.5万
展开全部
verilog描述的是硬件电路。所以initial语句只能用在仿真时测试平台testbench中。可以使用状态机来描述你说的功能。
初学者两天可以搞定,具体步骤如下:
1.根据功能画出状态转换图
2.参考状态机写法,将你的图用verilog实现
3.按要求编写仿真平台testbench
4.状态机和测试平台编译通过后使用quartus或ISE调用modelsim仿真
5.仿真通过,设计完成
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林莫语
推荐于2018-03-02 · TA获得超过341个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:243万
展开全部
顺序执行用状态机来进行跳转。
一个状态跳到另外一个状态
还有就是initial是不可综合语句,生成不了实际电路,所以用initial不能用来做实际的设计,只能仿真。
FPGA多采用时序always进程,你去看看状态机怎么做就知道了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
香菜猫咪co2d3
2012-09-15
知道答主
回答量:12
采纳率:0%
帮助的人:17.5万
展开全部
initial只能用在仿真中,具体实现时是不能用的
如果是仿真的时候想在initial中用类似always的功能,可以写成
initial begin
...
forever@( posedge clk )begin
...
end
...
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式