- 1、本文档共162页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
004 Verilog HDL 语言基础 新1130
相关例子:时钟发生器 功 能 描 述: 利用外来时钟clk 产生一系列时钟,其中clk1为外来时钟clk的反向时钟, clk2为clk的二分频时钟,clk4为外来时钟clk的四分频时钟,clk8为外来时钟clk的八分频时钟。 时钟发生器的程序: module clkgen(clk,clk1,clk2,clk4,clk8); input clk; output clk1,clk2,clk4,clk8; reg clk2,clk4,clk8; reg[7:0] state=8’d0; parameter S1=8’ S2=8’ S3=8’ S4=8’ S5=8’ S6=8’ S7=8’ S8=8’ idle=8’ Assign clk1=~clk; always@(negedge clk) Begin case(state) S1: begiin clk2=~clk2; state=S2; end S2: begiin clk2=~clk2; clk4=~clk4; state=S3; end S3: begiin clk2=~clk2; state=S4; end S4: begiin clk2=~clk2; clk4=~clk4; clk8=~clk8; state=S5; end S5: begiin clk2=~clk2; state=S6; end S6: begiin clk2=~clk2; clk4=~clk4; state=S7; end S7: begiin clk2=~clk2; state=S8; end S8: begiin clk2=~clk2; clk4=~clk4; clk8=~clk8; state=S1; end idle: state=S1; default: state=idle; endcase end endmodule 3.5 语句 赋值语句 连续赋值语句 过程赋值语句 块语句 begin_end语句 fork_join语句 Quartus II不支持 条件语句 if_else语句 case语句 循环语句 forever语句 MAX+PLUS II不支持 repeat语句 MAX+PLUS II不支持 while语句 MAX+PLUS II不支持 for语句 结构说明语句 initial语句 Quartus II不支持 always语句 task语句 MAX+PLUS II不支持 function语句 编译预处理语句 ‘define语句 ‘include语句 Quartus II不支持 ‘timescale语句 Quartus II不支持 表3-4 Verilog HDL的语句 3.5 语句 注: 上表中,凡Quartus II不支持的语句是不可综合的,通常用在测试文件中;未注明“Quartus II不支持”的语句均是可综合的。 repeat语句和task语句MAX+PLUS II不支持,但Quartus II支持; forever语句、 while语句MAX+PLUS II不支持,Quartus II支持,但通常用在测试模块中; 表中只有4种语句(fork_join,initial, ‘include, ‘timescale)是Quartus II不支持的,它们通常用在测试模块中(ModelSim软件支持)。 * * 下面看看仿真波形 3) 使用条件操作符实现条件结构 建议只在二选一的时候使用条件操作符。如下 assign out(ab)?1:0; 4.7 循环语句 在Verilog HDL中存在这4种类型循环语句,来控制执行语句的执行次数: 1)forever 无限连续执行的语句 2)repeat 连续执行一条语句n次 3)while 执行一条语句直到某个程序不满足 4)for 通过以下3个步骤决定语句的循环执行: A 先给控制循环次数的变量赋初值 B 判定控制循环的表达式的值 C 执行一条赋值语句来修正控制循环变量次数的变量值,然后返回第2步。 4.7 循环语句 下面具体看看 forever语句
文档评论(0)