




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
加减法 module addsub input 7 0 dataa input 7 0 datab input add sub if this is 1 add else subtract input clk output reg 8 0 result always posedge clk begin if add sub result dataa datab or assign cout sum dataa datab else result 1101 然后和 8 亦即 1000 相加 就会得到 5 亦即 0101 至于溢出的最高位可以无视掉 乘法器 module mult outcome a b parameter SIZE 8 input SIZE 1 a b output reg 2 SIZE 1 outcome integer i always a or b begin outcome 0 for i 0 i SIZE i i 1 if b i outcome outcome a i 1 end endmodule 另一种乘法器 在初始化之际 取乘数和被乘数的正负关系 然后取被乘数和乘数的正值 输出结果根据 正负关系取得 else if Start Sig case i 0 begin isNeg Multiplicand 7 Multiplier 7 Mcand Multiplicand 7 Multiplicand 1 b1 Multiplicand Mer Multiplier 7 Multiplier 1 b1 Multiplier Temp 16 d0 i i 1 b1 end 1 Multipling if Mer 0 i i 1 b1 else begin Temp Temp Mcand Mer Mer 1 b1 end 2 begin isDone 1 b1 i i 1 b1 end 3 begin isDone 1 b0 i 2 d0 end endcase assign Done Sig isDone assign Product isNeg Temp 1 b1 Temp endmodule booth 乘法器 module booth multiplier module input CLK input RSTn input Start Sig input 7 0 A input 7 0 B output Done Sig output 15 0 Product output 7 0 SQ a output 7 0 SQ s output 16 0 SQ p reg 3 0 i reg 7 0 a result of A reg 7 0 s reverse result of A reg 16 0 p p 空间 16 1 位 reg 3 0 X 指示 n 次循环 reg isDone always posedge CLK or negedge RSTn if RSTn begin i 4 d0 a 8 d0 s 8 d0 p 17 d0 X 4 d0 isDone 1 b0 end else if Start Sig case i 0 begin a A s A 1 b1 p 8 d0 B 1 b0 i i 1 b1 end 1 if X 8 begin X 4 d0 i i 4 d2 end else if p 1 0 2 b01 begin p p 16 9 a p 8 0 i i 1 b1 end else if p 1 0 2 b10 begin p p 16 9 s p 8 0 i i 1 b1 end else i i 1 b1 00 和 11 无操作 2 begin p p 16 p 16 1 X X 1 b1 i i 1 b1 end 右移 最高位补 0 or 1 3 begin isDone 1 b1 i i 1 b1 end 4 begin isDone 1 b0 i 4 d0 end endcase assign Done Sig isDone assign Product p 16 1 endmodule 除法器 module divider module input CLK input RSTn input Start Sig input 7 0 Dividend input 7 0 Divisor output Done Sig output 7 0 Quotient output 7 0 Reminder reg 3 0 i reg 7 0 Dend reg 7 0 Dsor reg 7 0 Q reg 7 0 R reg isNeg reg isDone always posedge CLK or negedge RSTn if RSTn begin i 4 d0 Dend 8 d0 Dsor 8 d0 Q 8 d0 isNeg 1 b0 isDone 1 b0 end else if Start Sig case i 0 begin Dend Dividend 7 Dividend 1 b1 Dividend Dsor Divisor 7 Divisor Divisor 1 b1 isNeg Dividend 7 Divisor 7 i Dend begin Q isNeg Q 1 b1 Q i i 1 b1 end else begin Dend Dend Dsor Q Q 1 b1 end 2 begin isDone 1 b1 i i 1 b1 end 3 begin isDone 1 b0 i b begin n a b m 4 b0001 state S1 end else begin m 4 b0000 n a state b begin m m 1 n n b state S1 end else begin state S2 end end S2 begin result m yu n state S0 end defule state S0 endcase end endmodule 13 一个可预置初值的 7 进制循环计数器 verilog module count clk reset load date out input load clk reset input 3 0 date output reg 3 0 out parameter WIDTH 4 d7 always clk or reset begin if reset out 4 d0 else if load out date else if out WIDTH 1 out 4 d0 else out out 1 end endmodule Johnson 计数器 约翰逊 Johnson 计数器又称扭环计数器 是一种用 n 位触发器来表示 2n 个状态的计数器 它与环形计数 器不同 后者用 n 位触发器仅可表示 n 个状态 n 位二进制计数器 n 为触发器的个数 有 2 n 个状态 若 以四位二进制计数器为例 它可表示 16 个状态 0000 1000 1100 1110 1111 0111 0011 0001 0000 1000 module Johnson input clk input clr output reg N 1 0 q always posedge clk or negedge clr if clr q N 1 b0 else if q 0 q 1 b1 q N 1 1 elseq 1 b0 q N 1 1 endmodule 任意分频 占空比不为 50 always clk beginif count x 1 count 0 else count count 1 end assign clkout count y y 一般用 count 的最高位 偶数分频 8 分频 占空比 50 计数至 n 1 翻转 module count5 reset clk out input clk reset output out reg 1 0 count always clk if reset begin count 0 out 0 end else if count 3 begin count 0 out out end else count count 1 endmodule 奇数分频电路 占空比 50 module count5 reset clk out input clk reset output out reg 2 0 m n reg count1 reg count2 always posedge clk begin if reset beginm 0 count1 0 end else begin if m 4 m 0 else m m 1 4 为分频数 NUM 1 NUM 5 if m 2 count1 1 else count1 0 end end always negedge clk begin if reset beginn 0 count2 0 end else begin if n 4 n 0 else n n 1 if n 2 count2 1 else count2 0 end end assign out count1 count2 半整数分频 module fdiv5 5 clkin clr clkout input clkin clr output reg clkout reg clk1 wire clk2 integer count xor xor1 clk2 clkin clk1 always posedge clkout or negedge clr beginif clr begin clk1 1 b0 end else clk1 clk1 end always posedge clk2 or negedge clr beginif clr begin count 0 clkout 1 b0 end else if count 5 begin count 0 clkout 1 b1 end else begin count count 1 clkout 1 b0 end end endmodule 小数分频 N M P N 为分配比 M 为分频器输入脉冲数 P 为分频器输出脉冲数 N 8 9 9 1 9 1 8 1 先做 9 次 8 分频再做 1 次 9 分频 module fdiv8 1 clkin rst clkout input clkin rst output reg clkout reg 3 0 cnt1 cnt2 always posedge clkin or posedge rst begin if rst begin cnt1 0 cnt2 0 clkout 0 end else if cnt1 9 cnt1 0 8 begin if cnt2 7 begin cnt2 cnt2 1 clkout 0 end else begin cnt2 0 cnt1 cnt1 1 clkout 1 end end else begin cnt1 9 if cnt2 8 begin cnt2 cnt2 1 clkout 0 end else begin cnt2 0 cnt1 0 clkout 1 end end end endmodule 串并转换 module p2s clk clr load pi so input clk clr load input 3 0 pi output so reg 3 0 r always posedge clk or negedge clr if clr r 4 h0 else if load r pi else r r 1 b0 or r 1 assign so r 3 endmodule module s2p clk clr en si po input clk clr en si output 3 0 po always posedge clk or negedge clr if clr r 8 ho else r r si assign po en r 4 h0 endmodule b 试用 VHDL 或 VERILOG ABLE 描述 8 位 D 触发器逻辑 module dff q qn d clk set reset input 7 0 d set input clk reset output reg 7 0 q qn always posedge clk begin if reset begin q 8 h00 qn 8 hFF end else if set beginq 8 hFF qn 8 h00 end else begin q d qn d end end endmodule 序列检测 101 module xulie101 clk clr x z input clk clr x output reg z reg 1 0 state next state parameter s0 2 b00 s1 2 b01 s2 2 b11 s3 2 b10 always posedge clk or posedge clr begin if clr state s0 else state next state end always state or x begin case state s0 begin if x next state s1 elsenext state s0 end s1 begin if x next state s1 elsenext state s2 end s2 begin if x next state s3 elsenext state s0 end s3 begin if x next state s1 elsenext state s2 end default next state s0 endcase end always state begincase state s3 z 1 default z 0 endcase end endmodule 按键消抖 1 采用一个频率较低的时钟 对输入进行采样 消除抖动 module switch clk keyin keyout parameter COUNTWIDTH 8 input clk keyin output reg keyout reg COUNTWIDTH 1 0 counter wire clk use 频率较低的时钟 assign clk use counter COUNTWIDTH 1 always posegde clk counter counter 1 b1 always posedge clk use keyout keyin endmodule 2 module switch clk keyin keyout parameter COUNTWIDTH 8 input clk keyin output reg keyout reg COUNTWIDTH 1 0 counter initial counter 0 keyout 0 keyin 0 always posegde clk if keyin 1 begin key m keyin counter counter 1 end else counter 0 if keyin m 定义时延 endmodule 数码管显示 module number mod module 分别取得数字的十位和个位 CLK RSTn Number Data Ten Data One Data input CLK input RSTn input 7 0 Number Data output 3 0 Ten Data output 3 0 One Data reg 31 0 rTen reg 31 0 rOne always posedge CLK or negedge RSTn if RSTn begin rTen 32 d0 rOne 32 d0 end else begin rTen Number Data 10 rOne Number Data 10 end assign Ten Data rTen 3 0 assign One Data rOne 3 0 endmodule module led CLK Ten Data One Data led0 led1 数码管显示 input 3 0 Ten Data One Data input CLK output 7 0 led0 led1 reg 7 0 led0 led1 always posedge cp 50 begin casez One Data 4 d0 led0 8 b1100 0000 4 d1 led0 8 b1111 1001 4 d2 led0 8 b1010 0100 4 d3 led0 8 b1011 0000 4 d4 led0 8 b1001 1001 4 d5 led0 8 b1001 0010 4 d6 led0 8 b1000 0010 4 d7 led0 8 b1111 1000 4 d8 led0 8 b1000 0000 4 d9 led0 8 b1001 0000 default led0 8 b1111 1111 endcase casez Ten Data 4 d0 led1 8 b1100 0000 4 d1 led1 8 b1111 1001 4 d2 led1 8 b1010 0100 4 d3 led1 8 b1011 0000 4 d4 led1 8 b1001 1001 4 d5 led1 8 b1001 0010 4 d6 led1 8 b1000 0010 4 d7 led1 8 b1111 1000 4 d8 led1 8 b1000 0000 4 d9 led1 8 b1001 0000 default led0 8 b1111 1111 endcase end endmodule 5 fifo 控制器 FIFO 存储器 FIFO 是英文 First In First Out 的缩写 是一种先进先出的数据缓存器 他与普通存储器的 区别是没有外部读写地址线 这样使用起来非常简单 但缺点就是只能顺序写入数据 顺序的读出数据 其数据地址由内部读写指针自动加 1 完成 不能像普通存储器那样可以由地址线决定读取或写入某个指定 的地址 在系统设计中 以增加数据传输率 处理大量数据流 匹配具有不同传输率的系统为目的而广 泛使用 FIFO 存储器 从而提高了系统性能 FIFO 参数 FIFO 的宽度 the width 指 FIFO 一次读写操作的数据位 FIFO 深度 THE DEEPTH 指 FIFO 可以存储多少个 N 位的数据 满标志 FIFO 已满或将要满时送出的一个信号 以阻止 FIFO 的血操作继续向 FIFO 中写数据而造成溢出 overflow 空标志 阻止 FIFIO 的读操作 module fifo module input CLK input RSTn input Write Req input 7 0 FIFO Write Data input Read Req output 7 0 FIFO Read Data output Full Sig output Empty Sig output 7 0 SQ rS1 output 7 0 SQ rS2 output 7 0 SQ rS3 output 7 0 SQ rS4 output 2 0 SQ Count parameter DEEP 3 d4 reg 7 0 rShift DEEP 0 reg 2 0 Count reg 7 0 Data always posedge CLK or negedge RSTn if RSTn begin rShift 0 8 d0 rShift 1 8 d0 rShift 2 8 d0 rShift 3 8 d0 rShift 4 8 d0 Count 3 d0 Data 8 d0 end else if Read Req rShift 2 rShift 1 rShift 3 rShift 2 rShift 4 rShift 3 Data rShift Count end else if Write Req rShift 2 rShift 1 rShift 3 rShift 2 rShift 4 rShift 3 Count 0 begin Data rShift Count Count Count 1 b1 end assign FIFO Read Data Data assign Full Sig Count DEEP 1 b1 1 b0 assign Empty Sig Count 0 1 b1 1 b0 assign SQ rS1 rShift 1 assign SQ rS2 rShift 2 assign SQ rS3 rShift 3 assign SQ rS4 rShift 4 assign SQ Count Count Endmodule fifi 2 指针控制 module FIFO date q clr clk we re ff ef parameter WIDTH 8 DEEPTH 8 ADDR 3 input clk clr input we re input WIDTH 1 0 date output ff ef output reg WIDTH 1 0 q reg WIDTH 1 0 mem date DEEPTH 1 0 reg ADDR 1 0 waddr raddr reg ff ef always posedge clk or negedge clr 写地址 begin if clr waddr 0 else if we 1 else if we 1 end always posedge clk begin if we end always posedge clk or negedge clr 读地址 begin if clr raddr 0 else if re 1 else if re 1 end always posedge clk begin if re end always posedge clk or negedge clr begin if clr ff 1 b0 else if we else ff 1 b0 end always posedge clk or
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教PEP小学英语三年级上册教案计划
- 工业厂房建设招投标流程
- 乳品配料工培训考核试卷及答案
- 有色金属强化熔炼工成本控制考核试卷及答案
- 高精度测绘公司简介怎么写参考范文
- 操作系统原理课程学习心得体会
- 2025股权转让合同范本【资产股权委托合同书】
- 部编版教材学生兴趣心得体会
- 口语交际:安慰 教学设计-2024-2025学年语文四年级上册统编版
- 2025年上海市预拌混凝土采购合同样本范本
- DB53-T 1285-2024 学校集体用餐配送服务规程
- 陆上石油天然气长输管道建设项目安全设施设计编制导则(试行)2015
- 图书馆消防安全应急预案
- 新高考背景下2025届高考地理一轮复习备考策略讲座
- 教学计划(教学计划)-2024-2025学年大象版五年级科学上册
- 文创产品国内外研究现状综述
- (正式版)JBT 9630.1-2024 汽轮机铸钢件无损检测 第1部分:磁粉检测
- 兽医法规课件
- 旅行社的产生与发展
- 幕墙吊装方案计算书
- 占道施工申请书怎么写范文
评论
0/150
提交评论