在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2124|回复: 7

[求助] 掌握基本时序逻辑电路的实现 求助

[复制链接]
发表于 2011-11-19 14:28:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
目的:掌握基本时序逻辑电路的实现     在verilog hdl中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的verilog hdl模型中,通常使用always块结构来表述时序逻辑。下面是一个1/2分频器的可综合模型。
//half_clk.v
//名称:1/2分频器
//功能:频率变为原来的一半
module half_clk(reset,clk_in,clk_out);
input clk_in,reset;
output clk_out;
reg clk_out;

always @(posedge clk_in)
begin
if(!reset) clk_out=0;
else clk_out=~clk_out;
end

endmodule


测试模块
//名称:半分频的测试模块
`timescale 1ns/100ps
`define clk_cycle 50

module clk_top;
reg clk,reset;
wire clk_out;

always # `clk_cycle clk=~clk;

initial
begin
clk=0;
reset=0;
#100 reset=0;
#100 reset=1;
#10000 $stop;
end
half_clk half_clk(.reset(reset),.clk_in(clk),.clk_out(clk_out));

endmodule

仿真结果图:


说明:

1、第一次仿真时候没有波形都是直线,后查明是因为单位时间和时间精度写的有误,将1ns/100ps, 写成了    1ns/1ps。因此波形出不来。
问:为什么1ns/1ps出不来波形呢,而1ns/100ps就可以正常出现波形呢???
发表于 2011-11-19 22:02:10 | 显示全部楼层
请楼主自己把自己的代码里的1ns/100ps,改回1ns/1ps确认一下是否确实不能出波形。
发表于 2011-11-19 22:59:42 | 显示全部楼层
module half_clk 里面always语句应用非阻塞赋值。
发表于 2011-11-20 09:51:17 | 显示全部楼层


module half_clk 里面always语句应用非阻塞赋值。
taluopai 发表于 2011-11-19 22:59




   这里没区别吧
发表于 2011-11-20 09:59:52 | 显示全部楼层
`timescale 1ns/100ps
module half_clk_test;
reg clk_in,reset;
wire clk_out;
parameter clk_cycle=50;
half_clk half_clk(reset,clk_in,clk_out);
always #clk_cycle clk_in=~clk_in;

initial
begin
clk_in=0;
reset=0;
#200 reset=1;
#1000 $finish;
end
endmodule
我把test的程序改成这个,是可以的,lz试试
发表于 2011-11-20 10:03:58 | 显示全部楼层


`timescale 1ns/100ps
module half_clk_test;
reg clk_in,reset;
wire clk_out;
parameter clk_cycle=5 ...
kekeguda 发表于 2011-11-20 09:59




   试了一下,上面的程序把100ps改成1ps也是可以的;具体为什么我也不知道,我用自己比较习惯的写法改的,但lz哪里有问题我也说不来
发表于 2011-11-20 10:23:04 | 显示全部楼层
本帖最后由 taluopai 于 2011-11-20 10:25 编辑

回复 4# kekeguda


    我只是说用always综合时序逻辑最好用非阻塞,可能这里是没有区别的。在设计module的时候,最好能有延迟语句(#2....),方便功能仿真。
发表于 2011-11-20 10:31:36 | 显示全部楼层
回复 1# 千牛卫


    刚才测试了一下楼主代码,不论是1ns/1ps 还是1ns/100ps都可以正常显示波形。我用的是modelsim 6.0 SE版本。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-12 00:32 , Processed in 0.031728 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表