atom100 发表于 2014-10-20 11:34:46

verilog状态机 写100个状态的时候,是否好用 ?


写个代码,使用状态机,发现要写100多个状态,
verilog状态机写100个状态的时候,是否好用 ?

yuyu87 发表于 2014-10-20 12:29:48

非常好用,比用其它方法都要快

rowen800 发表于 2014-10-20 12:40:13

这么多状态?不知道系统能跑多快?

atom100 发表于 2014-10-20 15:18:01

这种情况 ,有什么 好的 代替方法没有 ?

atom100 发表于 2014-10-20 15:19:01

在rtl图里看到 状态机 是一个黄色模块,这个模块里是怎么实现的 ?
有没有 更好的代替方法

atom100 发表于 2014-10-20 15:25:07

本帖最后由 atom100 于 2014-10-20 16:11 编辑

rowen800 发表于 2014-10-20 12:40
这么多状态?不知道系统能跑多快?

我通过signal tap ii 观察了 状态机的跳转,
状态机应该是一个 组合逻辑模块,跳转速度取决于 串连在一起的逻辑门的翻转速度 ,感觉一个时钟周期 翻转 100来次

peinsc 发表于 2014-10-20 15:35:31

mark, mark

steven0419 发表于 2014-10-24 16:57:29

什么项目,要如此复杂?

mcupro 发表于 2014-10-24 18:24:18

可以的 如果太多的状态的话 可以考虑用RAM块保存转换逻辑

atom100 发表于 2014-10-24 22:23:52

本帖最后由 atom100 于 2014-10-24 22:25 编辑

steven0419 发表于 2014-10-24 16:57
什么项目,要如此复杂?

就是一个普通项目, 多个端口要去 访问DDR2,10个输入端口,10个输出端口,但ddr2 同一时刻 只能有一个口读或写?
大家都是 怎么处理的?
多端口 分时 复用ddr2 总线,是用什么实现的?是用case 语句实现的吗 ?
case(端口编号)
    端口1:
    端口2:
   。。。
    端口n:
endcase

是这样实现的吗 ?

yaxiaoyu 发表于 2014-10-29 09:57:06

atom100 发表于 2014-10-24 22:23
就是一个普通项目, 多个端口要去 访问DDR2,10个输入端口,10个输出端口,但ddr2 同一时刻 只能有一个口 ...

那这个不就是一个FIFO了?

atom100 发表于 2014-10-29 11:32:31

yaxiaoyu 发表于 2014-10-29 09:57
那这个不就是一个FIFO了?

fifo 可以是双口,一个入,一个出,容量有限,
使用ddr2 是 一个口,同一时刻只能输入或输出,容量2G ,我需要大容量
页: [1]
查看完整版本: verilog状态机 写100个状态的时候,是否好用 ?