新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

 

Verilog

 

仿真状态机时可以显示状态名

 

Situation: 

我们平时使用

 

Verilog 

进行状态机编码时,通常使用

 

parameter 

对状态名进行定义,这样写

 

Case 

语句的时候就不会对这一?/p>

 

10 

摸不着头脑?/p>

 

可是通常这样做的话,?/p>

 

Modelsim 

里看到的还是一?/p>

 

10

,使排错非常困难?/p>

 

特别是在?/p>

 

OneHot 

编码的时候,就看到一?/p>

 

0 

中间的一?/p>

 

1 #_# 

简直要疯掉?/p>

 

Question: 

我们可不可以?/p>

 

VHDL 

一样,在仿真的时候看到状态名字,而不?/p>

 

仅是状态编码呢?答案当然是可以的拉,事在人为嘛?/p>

Solution1:

另外定义一?/p>

 

reg: 

state_name

,长度根据状态名称长度而改变(状态名称字符数

 

x8

);在每?/p>

 

状态执行的语句中加?/p>

 

state_name 

= 

‘IDLE?

 

类似的一句语句;仿真时添?/p>

 

state_name 

进行观察,使?/p>

 

ASCII 

Radix

?/p>

Solution2:

使用如下语句:代?/p>

:`ifdef 

SIMULATION 

parameter 

S_idle 

= 

‘idle?

 

parameter 

S_decode 

= 

‘decode?

 

parameter 

S_start 

= 

‘start

 

?

 

parameter 

S_wait 

= 

‘wait?

 

parameter 

state_wid_msb 

= 

47; 

`else 

parameter 

S_idle 

= 

4’b0001;

 

parameter 

S_decode 

= 

4’b0010;

 

parameter 

S_start 

= 

4’b0100;

 

parameter 

S_wait 

= 

4’b1000;

 

parameter 

state_wid_msb 

= 

3; 

`endif 

reg 

[state_wid_msb:0] state;

只要在仿真的时?/p>

`define SIMULATION 

就可以了。一?/p>

 

?/p>

 

ASCII Radix 

查看?/p>

 

 

tips:

感谢大家的阅读,本文由我司收集整编。仅供参阅!

 

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

 

Verilog

 

仿真状态机时可以显示状态名

 

Situation: 

我们平时使用

 

Verilog 

进行状态机编码时,通常使用

 

parameter 

对状态名进行定义,这样写

 

Case 

语句的时候就不会对这一?/p>

 

10 

摸不着头脑?/p>

 

可是通常这样做的话,?/p>

 

Modelsim 

里看到的还是一?/p>

 

10

,使排错非常困难?/p>

 

特别是在?/p>

 

OneHot 

编码的时候,就看到一?/p>

 

0 

中间的一?/p>

 

1 #_# 

简直要疯掉?/p>

 

Question: 

我们可不可以?/p>

 

VHDL 

一样,在仿真的时候看到状态名字,而不?/p>

 

仅是状态编码呢?答案当然是可以的拉,事在人为嘛?/p>

Solution1:

另外定义一?/p>

 

reg: 

state_name

,长度根据状态名称长度而改变(状态名称字符数

 

x8

);在每?/p>

 

状态执行的语句中加?/p>

 

state_name 

= 

‘IDLE?

 

类似的一句语句;仿真时添?/p>

 

state_name 

进行观察,使?/p>

 

ASCII 

Radix

?/p>

Solution2:

使用如下语句:代?/p>

:`ifdef 

SIMULATION 

parameter 

S_idle 

= 

‘idle?

 

parameter 

S_decode 

= 

‘decode?

 

parameter 

S_start 

= 

‘start

 

?

 

parameter 

S_wait 

= 

‘wait?

 

parameter 

state_wid_msb 

= 

47; 

`else 

parameter 

S_idle 

= 

4’b0001;

 

parameter 

S_decode 

= 

4’b0010;

 

parameter 

S_start 

= 

4’b0100;

 

parameter 

S_wait 

= 

4’b1000;

 

parameter 

state_wid_msb 

= 

3; 

`endif 

reg 

[state_wid_msb:0] state;

只要在仿真的时?/p>

`define SIMULATION 

就可以了。一?/p>

 

?/p>

 

ASCII Radix 

查看?/p>

 

 

tips:

感谢大家的阅读,本文由我司收集整编。仅供参阅!

 

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

 

Verilog

 

仿真状态机时可以显示状态名

 

Situation: 

我们平时使用

 

Verilog 

进行状态机编码时,通常使用

 

parameter 

对状态名进行定义,这样写

 

Case 

语句的时候就不会对这一?/p>

 

10 

摸不着头脑?/p>

 

可是通常这样做的话,?/p>

 

Modelsim 

里看到的还是一?/p>

 

10

,使排错非常困难?/p>

 

特别是在?/p>

 

OneHot 

编码的时候,就看到一?/p>

 

0 

中间的一?/p>

 

1 #_# 

简直要疯掉?/p>

 

Question: 

我们可不可以?/p>

 

VHDL 

一样,在仿真的时候看到状态名字,而不?/p>

 

仅是状态编码呢?答案当然是可以的拉,事在人为嘛?/p>

Solution1:

另外定义一?/p>

 

reg: 

state_name

,长度根据状态名称长度而改变(状态名称字符数

 

x8

);在每?/p>

 

状态执行的语句中加?/p>

 

state_name 

= 

‘IDLE?

 

类似的一句语句;仿真时添?/p>

 

state_name 

进行观察,使?/p>

 

ASCII 

Radix

?/p>

Solution2:

使用如下语句:代?/p>

:`ifdef 

SIMULATION 

parameter 

S_idle 

= 

‘idle?

 

parameter 

S_decode 

= 

‘decode?

 

parameter 

S_start 

= 

‘start

 

?

 

parameter 

S_wait 

= 

‘wait?

 

parameter 

state_wid_msb 

= 

47; 

`else 

parameter 

S_idle 

= 

4’b0001;

 

parameter 

S_decode 

= 

4’b0010;

 

parameter 

S_start 

= 

4’b0100;

 

parameter 

S_wait 

= 

4’b1000;

 

parameter 

state_wid_msb 

= 

3; 

`endif 

reg 

[state_wid_msb:0] state;

只要在仿真的时?/p>

`define SIMULATION 

就可以了。一?/p>

 

?/p>

 

ASCII Radix 

查看?/p>

 

 

tips:

感谢大家的阅读,本文由我司收集整编。仅供参阅!

 

 

Ͼλ">
Ͼλ
Ŀ

让Verilog仿真状态机时可以显示状态名 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

 

Verilog

 

仿真状态机时可以显示状态名

 

Situation: 

我们平时使用

 

Verilog 

进行状态机编码时,通常使用

 

parameter 

对状态名进行定义,这样写

 

Case 

语句的时候就不会对这一?/p>

 

10 

摸不着头脑?/p>

 

可是通常这样做的话,?/p>

 

Modelsim 

里看到的还是一?/p>

 

10

,使排错非常困难?/p>

 

特别是在?/p>

 

OneHot 

编码的时候,就看到一?/p>

 

0 

中间的一?/p>

 

1 #_# 

简直要疯掉?/p>

 

Question: 

我们可不可以?/p>

 

VHDL 

一样,在仿真的时候看到状态名字,而不?/p>

 

仅是状态编码呢?答案当然是可以的拉,事在人为嘛?/p>

Solution1:

另外定义一?/p>

 

reg: 

state_name

,长度根据状态名称长度而改变(状态名称字符数

 

x8

);在每?/p>

 

状态执行的语句中加?/p>

 

state_name 

= 

‘IDLE?

 

类似的一句语句;仿真时添?/p>

 

state_name 

进行观察,使?/p>

 

ASCII 

Radix

?/p>

Solution2:

使用如下语句:代?/p>

:`ifdef 

SIMULATION 

parameter 

S_idle 

= 

‘idle?

 

parameter 

S_decode 

= 

‘decode?

 

parameter 

S_start 

= 

‘start

 

?

 

parameter 

S_wait 

= 

‘wait?

 

parameter 

state_wid_msb 

= 

47; 

`else 

parameter 

S_idle 

= 

4’b0001;

 

parameter 

S_decode 

= 

4’b0010;

 

parameter 

S_start 

= 

4’b0100;

 

parameter 

S_wait 

= 

4’b1000;

 

parameter 

state_wid_msb 

= 

3; 

`endif 

reg 

[state_wid_msb:0] state;

只要在仿真的时?/p>

`define SIMULATION 

就可以了。一?/p>

 

?/p>

 

ASCII Radix 

查看?/p>

 

 

tips:

感谢大家的阅读,本文由我司收集整编。仅供参阅!

 

 



ļ׺.doc޸Ϊ.docĶ

  • 2014 ϰ
  • 2016-2022йҵг״о - ͼ
  • 19ѧڡʯѧҵ1
  • ӱ꼶²鷨̰
  • ֧ŷ
  • ϣְװ
  • 廪и-2020廪ѧ355ѧоο
  • Сѧ
  • ֣ݴ˹˾ҵ˰𼰿ֲ֪ʶ
  • ʡѧ2020ѧ߶ѧѧڵһ˫ܿ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)