用verilog程序设计一个具有异步清零功能的24进制计数器

用verilog程序设计一个具有异步清零功能的24进制计数器,第1张

module counter_24 ( input clk, input rst, input cnt_in ,output reg cnt_out )

reg [4:0] cnt

always @ (posedge clk or posedge rst_n) begin

if (rst) cnt <= 5'b0

else if (~cnt_in) cnt <= cnt

else if (cnt == 5'b10110) cnt <= 5'b0

else cnt <= cnt + 1'b1

end

always @ (posedge clk or posedge rst) begin

if (rst) cnt_out <= 1'b0

else if (cnt_in &&cnt == 5'b10110) cnt_out <= 1'b1

else cnt_out <= 1'b0

end

endmodule

input add//为1时加 *** 作

input dec//为1时减 *** 作

output [5:0] counter

reg [5:0] counter

always @(add and dec) begin

if(add &&!dec) begin

if(counter == 6'd38) begin

counter <= 6'd0

扩展资料:

有一种记数系统便是24进制的,其中1~24有专门的符号来表示,大于24的数便可以像24进制那样写成多位数,如tokaputokapuŋgayepoko代表24进制中的茄粗启P0(552)。malapu talusupuŋga talu代表24进制中的凳乎H2G(9856)。

为了避免混淆1和I,0和O,故跳过字母I、O,18~~23分别计作J、K、L、M、N、P。比如:16计作G、22计作N。

等于或大于24的数字计作:24→10、25→11、26→12??25→11中标粗体的1代表24。同一个数字在不颤如同的位置代表的值是不一样的。

参考资料来源:百度百科-二十四进制

module bijiaoqi(out,a,b,c,clk)

output reg[7:0] out

input[7:0] a,b,c//去掉了i,并将i设值为7位寄存器,用来计数clk次数,将i作为输入是不能赋值的

input clk

reg[6:0] i=0

always @(posedge clk)

begin

if(i<13)

begin

out<=0

i<=i+1

end

else if(13<i<26)//将12改成了13,按文字要求

begin

out<=(a>b)?a:0

i<=i+1

end

else if(27<i<57)//改了此处数据陆裤

begin

if(b>c) out<=(a>b)?a:0

else out<=(a>c)?a:0

i<=i+1

end

else if(57<i<77)//改了此处数据

begin

out<=(a>c)?a:0

end

end

endmodule

改了辩悉厅源携隐程序中几个地方,需要注意这个程序当i计数到57以后不会再增加

1. 设计规划阶段(Design Specification)

一个Design Specification的建立有赖于市场人员对所设计芯片的大致功能和成本提出要求,市场人员和工程师互相合作提出芯片的功能

2. 架构与设计划分阶段(Architecture and Design Partition)

拟订开发部门的工程规格(Engineering spec),必须决定系统的架构

3. 编程洞慧有测试环境阶段

完成基本的设计和仿真。在初期,设计人员就应该考虑个信号的走线问题!在高速电路和多信号设计中,必须考虑到将产生的串扰(Cross Talk)。

4. 集成和仿真阶段(Integration and Simulation)

l 文件对比验证:预计输出(Expected Value)文件和电路真正的输出结果(Exact Result)的对比。

l 穿越整个CHIP:测试向量(Test Vector)要求能穿越整个CHIP到达外部。

l 合并测试向量:合理的合并测试向量并适度地打散激励(EXCIATION)

l 共享测试环境:在各模块已做整合的前提之下,各模块应该共享测试环境。

l 对模拟器件的处理:需要针对模拟器件做特殊的仿真。

5. 综合阶段(Synthesis)

综合阶段对程序代码的逻辑做部分简化,并从标准单元中选取合适的单元组合成最佳的实际电路。而这个原则就是约束(CONSTRAINT FILE),这个文件决定了最后CHIP的SIZE和功能的实现。基本上综合就是Timing与Area之间求得一个平衡。

这个时候最好完成功耗分析(POWER ANALYSIS)

6. 布局前仿真庆掘

待测对象:由逻辑门(GATE-LEVEL)所组成的网表文件(NETLIST)。这个阶段的仿真结果必须和INTEGRATION AND SIMULAION阶段一致。

特点:这个阶段仿真时间一般比较长,利用 *** 作系统所提供的工具程序来做自动化的批处理就显得重要,例如UNIX提供的MAKE等工具程序

7. 布局与布线阶段(AUTO PLACEMENT AND ROUTE ,AP&R)

利用netlist和SYNTHESIS产生的CONSTRAINT FILE文件

目的:将实体的单元(CELL)组合成芯片上真正的电路。

l FloorPlan:决定管脚的排列和IP,MACRO等在IC内部摆放的位置。

l Placement:布局,将元件摆到适当的位置。何谓合适的位置,就要根据具体电路的功能,工程师的经验和不断地对结果的分析了。

l CTS(Clock Tree Synthesis):将时序器件所需要的时钟所需要的缓冲器放在合适的位置,避免产生CLOCK SKEW。

l ROUTE:将各元件(包括时钟缓冲器)正确地走线。

l SDF(Standard Delay Format):此文件的目的在于描述确切地元件及布线时间延迟,以作为前端设计者再仿真的延迟计算,或作为静态时序分析之用。这些Timing 数值的前提是必须将线路的负载的R,C值提取出来。

8. 布局后仿真/静态时序分析/形式验证阶段(Post-Sim/STA/Formal Verification)

l Post-sim: 和前仿真必须的结果必须完全相同,但是因为有了更精确的TIMING数据,所以花费更大量的时间

l STA:仿真本身可分为动态和静态

动态性:从仿真的起始至结束有许多个时间(EVENT)发生来校验其功能。耗时长

静态时序分析:它并不管其待分析电路的功能如何,只要给定Constraint,静态时序分析就会分析电路结构,检查所有时序上不满足的地方纳差答。

l Formal Verification:?

9.DRC/LVS检查阶段

DRC(Design Rule Check):针对最后的LAYOUT结果做检查,以校验其是否违反元件本身的性能限制。

LVS(Layout VS Schematics):针对电路图和LAYOUT图做一致性验证。

10.Design sign-off阶段

即掩膜生产之用,就是一般所称的Tape-Out.

11.手动修正(Engineering Change Order,ECO)

如果最后阶段发现了BUG,如果不大的话,那么如果从头改起将十分耗时,比较经济的做法是以手动的方式对电路进行修改,或者对布局修改。

因为手动修改非常容易出错,所以需要非常深厚的基本电路知识和经验!

如果已经TAPE-OUT才发现设计上的错误,则最后的补救只能在金属层的掩膜上修改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12362997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存