Verilog中非阻塞赋值会使数据延时一个clock的疑惑？ 20C
`````` `timescale 1ns/1ps
module freq ();
reg             clk_250     =   1'b0        ;
reg             rst         =   1'b1        ;
reg [6  :   0]  cnt         =   7'd0        ;
reg             valid       =   1'b0        ;
reg [2  :   0]  valid_cnt   =   3'd0        ;

parameter PERIOD_250 = 4 ;

//产生250MHZ时钟
initial
begin
clk_250 = 0;
forever #(PERIOD_250/2) clk_250 = ~clk_250;
end

initial
begin
#8  rst =   1'b0    ;
end

always  @   (   posedge clk_250 )
begin
if( rst ==  1)
cnt <=  8'b0000_0000    ;
else
begin
if( cnt ==  8'd100  )
cnt <=  8'd1    ;
else
cnt <=  cnt +   8'b1;
end
end

always  @   (   posedge clk_250 )
begin
if( rst ==  1'b1    )
valid_cnt   <=  3'd0                ;
else
begin
if( valid_cnt   ==  3'd6)
valid_cnt   <=  3'd1;
else
valid_cnt   <=  valid_cnt   +   3'd1;
end
end

always  @   (   posedge clk_250 )
begin
if( rst ==  1)
valid   <=  1'b0    ;
else
begin
if( valid_cnt   ==  1)
valid   <=  1'd1;
else
valid   <=  1'd0;
end
end
endmodule
``````

5个回答

2 年多之前 回复

cnt 、valid cnt和valid都是下一个时钟得出结果。

valid也是同样的，在valid cnt为1的时候，走的是valid <=1这条语句，但是下一个周期valid才会赋值为1。

cnt和valid-cnt都是宣告為序向邏輯, 所以這兩個訊後都是要等clk敲完下一個cycle才會產生

verilog结构描述方面的问题
Verilog结构描述and A1（S，A，～C），输入可以是～C吗，还是非得要调用一个非门

Verilog HDL 为什么会说数据流描述也是一种行为描述

Verilog 状态机代码编译不过问题在哪？
Verilog编写状态机的程序如下，始终有错误，求解决 module fsm(clk, button0, button1, UNLOCK); input button0,button1; output UNLOCK; //define state space parameter S0 = 2'b00; parameter S1 = 2'b01; parameter S2 = 2'b10; parameter S3 = 2'b11; //define clk reg clk = 0; always #50 clk = ~clk; //internal variable reg [1:0] current_state; reg [1:0] next_state; wire button0; wire button1; reg IN0 = button0; reg IN1 = button1; reg current_OUT0; reg current_OUT1; reg next_OUT0; reg next_OUT1; //transition always @(posedge clk) begin IN0 = button0; IN1 = button1; end always @(posedge IN0) begin current_OUT0 = next_OUT0; next_OUT0 <= 1'b1; #50 next_OUT0 <= 1'b0; zero = current_OUT0; end always @(posedge IN1) begin current_OUT1 = next_OUT1; next_OUT1 <= 1'b1; #50 next_OUT1 <= 1'b0; one = current_OUT1; end next_state = current_state; //next state decision always @(current_state) begin case(current_state) S0: begin if(button0) next_state <= S3; else next_state <= S0; end S1: begin if(button1) next_state = S0; else if(button0) next_state = S2; else next_state = S1; end S2: begin if(button1) next_state = S1; else if(button0) next_state = S3; else next_state = S2; end S3: begin if(button1) next_state = S0; else next_state = S3; end endcase end //action wire UNLOCK; assign UNLOCK = (current_state == S2) ? 1'b1 : 1'b0; endmodule 提示的错误是 Error (10170): Verilog HDL syntax error at try1.v(50) near text "="; expecting ".", or "(" Error (10112): Ignored design unit "fsm" at try1.v(1) due to previous errors 请问有人帮忙看一下吗
ise verilog 制作数字时钟，数码管引脚问题 signal is connected to multiple drivers

Verilog+niosⅡ 如何实现数字电子钟功能？
**1.**使用QuartusⅡ13.1，芯片是Cydone Ⅲ EP3C16Q240C8。 **2.**要求：从23-59-59开始显示； 时间可以通过按键更改； 实现时间的暂停、启动、停止功能； 实现闹钟的设置； 蜂鸣器响5s； 响的过程可以通过按键停止蜂鸣。 **3.**niosⅡ部分要实现CPU和电子钟定时功能； 用verilog HDL实现数码管的显示驱动和按键操作。

verilog用状态机实现循环彩灯控制器（含清零功能）

【Verilog语句】用的quartus17.1，程序编译没有问题，但模块一直调用不出来，求大佬帮看

verilog使用串口调试助手发送数据处理后接受，出现如下问题？

verilog实现冒泡排序，大致的代码框架说明~~

verilog语言关于memory的问题

verilog多次例化的module是并行执行的吗

Java学习的正确打开方式

linux系列之常用运维命令整理笔录

Python 基础（一）：入门必备知识

Python十大装B语法
Python 是一种代表简单思想的语言，其语法相对简单，很容易上手。不过，如果就此小视 Python 语法的精妙和深邃，那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点，并附上详细的实例代码。如能在实战中融会贯通、灵活使用，必将使代码更为精炼、高效，同时也会极大提升代码B格，使之看上去更老练，读起来更优雅。 1. for - else 什么？不是 if 和 else 才

2019年11月中国大陆编程语言排行榜
2019年11月2日，我统计了某招聘网站，获得有效程序员招聘数据9万条。针对招聘信息，提取编程语言关键字，并统计如下： 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7

SQL-小白最佳入门sql查询一

“狗屁不通文章生成器”登顶GitHub热榜，分分钟写出万字形式主义大作

IT界知名的程序员曾说：对于那些月薪三万以下，自称IT工程师的码农们，其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居，但只是他们一厢情愿罢了。 此话一出，不知激起了多少(码农)程序员的愤怒，却又无可奈何，于是码农问程序员。 码农：你知道get和post请求到底有什么区别？ 程序员：你看这篇就知道了。 码农：你月薪三万了？ 程序员：嗯。 码农：你是怎么做到的? 程序员：
《程序人生》系列-这个程序员只用了20行代码就拿了冠军

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1...

8年经验面试官详解 Java 面试秘诀
作者 | 胡书敏 责编 | 刘静 出品 | CSDN（ID：CSDNnews） 本人目前在一家知名外企担任架构师，而且最近八年来，在多家外企和互联网公司担任Java技术面试官，前后累计面试了有两三百位候选人。在本文里，就将结合本人的面试经验，针对Java初学者、Java初级开发和Java开发，给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实

1.两种思维方式在求职面试中，经常会考察这种问题：北京有多少量特斯拉汽车？ 某胡同口的煎饼摊一年能卖出多少个煎饼？ 深圳有多少个产品经理？ 一辆公交车里能装下多少个乒乓球？ 一

so easy！ 10行代码写个"狗屁不通"文章生成器