1 Star 0 Fork 0

hongcez/verilog-parser

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
attributes.v 954 Bytes
一键复制 编辑 原始数据 按行查看 历史
Ben Marshall 提交于 2016-07-31 03:08 +08:00 . Adding coverage testing.
module foo (
input clk,
input reset,
input head,
input tail,
input valid
);
parameter STATE_IDLE = 2'b00,
STATE_HEAD = 2'b01,
STATE_DATA = 2'b10,
STATE_TAIL = 2'b11;
reg [1:0] state;
reg [1:0] next_state;
always @(posedge clock)
state <= reset ? STATE_IDLE : next_state;
(* covered_fsm, channel, is="state", os="next_state",
trans="STATE_IDLE->STATE_IDLE",
trans="STATE_IDLE->STATE_HEAD",
trans="STATE_HEAD->STATE_DATA",
trans="STATE_HEAD->STATE_TAIL",
trans="STATE_DATA->STATE_DATA",
trans="STATE_DATA->STATE_TAIL",
trans="STATE_TAIL->STATE_HEAD",
trans="STATE_TAIL->STATE_IDLE" *)
always @(reset or state or head or valid or tail)
begin
case( state )
STATE_IDLE: next_state = (valid & head) ?
STATE_HEAD : STATE_IDLE;
STATE_HEAD: next_state = (valid & tail) ?
STATE_TAIL : STATE_DATA;
STATE_DATA: next_state = (valid & tail) ?
STATE_TAIL : STATE_DATA;
STATE_TAIL: next_state = (valid & head) ?
STATE_HEAD : STATE_IDLE;
endcase
end
endmodule
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hongcez/verilog-parser.git
git@gitee.com:hongcez/verilog-parser.git
hongcez
verilog-parser
verilog-parser
master

搜索帮助