- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog及FPGA学习考试必备经典程序(五)
目录
1. 非流水线方式 8 位全加器 2
2. 4 级流水方式的 8 位全加器2
3. 两个加法器和一个选择器的实现方式4
4. 两个选择器和一个加法器的实现方式4
5. 状态机设计的例子 5
6. 自动转换量程频率计控制器6
7. 8 位全加器 9
8. 8 位寄存器 9
9. 累加器顶层连接文本描述 10
10. 用`include 描述的累加器 10
11. 阻塞赋值方式描述的移位寄存器 1 11
12. 阻塞赋值方式描述的移位寄存器 2 11
13. 阻塞赋值方式描述的移位寄存器 3 12
14. 非阻塞赋值方式描述的移位寄存器 12
15. 长帧同步时钟的产生 12
16. 引入了 D 触发器的长帧同步时钟的产生 13
17. 数字跑表 14
18. 4 位数字频率计控制模块 16
19. 4 位数字频率计计数子模块 17
20. 频率计锁存器模块 17
21. 交通灯控制器 18
22. “梁祝”乐曲演奏电路21
23. 自动售饮料机26
1
1. 非流水线方式8 位全加器
module adder8(cout,sum,ina,inb,cin,clk);
output[7:0] sum;
output cout;
input[7:0] ina,inb;
input cin,clk;
reg[7:0] tempa,tempb,sum;
reg cout;
reg tempc;
always @(posedge clk)
begin
tempa=ina; tempb=inb; tempc=cin; //输入数据锁存
end
always @(posedge clk)
begin
{cout,sum}=tempa+tempb+tempc;
end
endmodule
2. 4 级流水方式的 8 位全加器
module pipeline(cout,sum,ina,inb,cin,clk);
output[7:0] sum;
output cout;
input[7:0] ina,inb;
input cin,clk;
reg[7:0] tempa,tempb,sum;
reg tempci,firstco,secondco,thirdco,cout;
reg[1:0] firsts,thirda,thirdb;
2
reg[3:0] seconda,secondb,seconds;
reg[5:0] firsta,firstb,thirds;
always @(posedge clk)
begin
tempa=ina; tempb=inb; tempci=cin; //输入数据缓存
end
always @(posedge clk)
begin
{firstco,firsts}=tempa[1:0]+tempb[1:0]+tempci;
//第一级加(低 2 位)
firsta=tempa[7:2]; //未参加计算的数据缓存
firstb=tempb[7:2];
end
always @(posedge clk)
begin
{secondco,seconds}={firsta[1:0]+firstb[1:0]+firstco,firsts};
//第二级加(第 2、3 位相加)
seconda=firsta[5:2]; //
文档评论(0)