第4章VerilogHDL代码EDA技术Word格式.docx

上传人:b****6 文档编号:16188580 上传时间:2022-11-21 格式:DOCX 页数:26 大小:18.98KB
下载 相关 举报
第4章VerilogHDL代码EDA技术Word格式.docx_第1页
第1页 / 共26页
第4章VerilogHDL代码EDA技术Word格式.docx_第2页
第2页 / 共26页
第4章VerilogHDL代码EDA技术Word格式.docx_第3页
第3页 / 共26页
第4章VerilogHDL代码EDA技术Word格式.docx_第4页
第4页 / 共26页
第4章VerilogHDL代码EDA技术Word格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

第4章VerilogHDL代码EDA技术Word格式.docx

《第4章VerilogHDL代码EDA技术Word格式.docx》由会员分享,可在线阅读,更多相关《第4章VerilogHDL代码EDA技术Word格式.docx(26页珍藏版)》请在冰豆网上搜索。

第4章VerilogHDL代码EDA技术Word格式.docx

reset,

data_in,

dff_out

);

//InterfaceDeclaration

inputclock;

inputreset;

input[7:

0]data_in;

output[7:

0]dff_out;

wireclock;

wirereset;

wire[7:

0]dff_out;

//InternalDeclaration

reg[7:

0]dff;

//MainBlock

always@(posedgeresetorposedgeclock)

begin

if(reset)dff<

=8’b0;

elsedff<

=data_in;

end

assigndff_out=dff;

endmodule

二、计数器

4位10进制计数器

4_counter

4_counter.v

module4_counter(

cnt_out

output[3:

0]cnt_out;

wire[3:

Reg[3:

0]cnt;

if(reset)cnt<

=0;

elsebegin

if(cnt==4’b1001)cnt<

elsecnt<

=cnt+1;

assigncnt_out=cnt;

三、移位寄存器

8位移位寄存器,每次循环右移2位,控制端:

=0时锁存,=1时移位。

8_shifter

8_shifter.v

8位移位寄存器

module8_shifter(

control_in,

data_in,

data_out

inputcontrol_in;

input[7:

0]data_in;

0]data_out;

wirecontrol_in;

wire[7:

reg[7:

0]data;

if(reset)data<

if(control_in==0)data<

elsedata<

={data[1:

0],data[7:

2]};

assigndata_out=data;

四、数据选择器

4通道数据选择器,选择端位数:

2,数据位宽度:

4

4_1selector

4_1selector.v

4通道数据选择器

module4_1selector(

//clock,

//reset,

select_in,

channel1_in,

channel2_in,

channel3_in,

channel4_in,

//inputclock;

//inputreset;

input[1:

0]select_in;

input[3:

0]channel1_in;

0]channel2_in;

0]channel3_in;

0]channel4_in;

//wireclock;

//wirereset;

wire[1:

wire[3:

reg[3:

0]data;

always@(select_inorchannel1_inorchannel2_inorchannel3_inorchannel4_in)

case(select_in)

2’b00:

data=channel1_in;

2’b01:

data=channel2_in;

2’b10:

data=channel3_in;

default:

data=channel4_in;

endcase

assigndata_out=data;

/*assigndata_out=(select_in==2’b00)?

channel1_in:

((select_in==2’b01)?

channel2_in:

((select_in==2’b10)?

channel3_in:

channel4_in

*/

五、编码器

4-2线编码器,4位输入,2位输出,1位错误检测输出

4_2encoder

4_2encoder.v

8-3线编码器

module4_2encoder(

error_out,

encoder_out

outputerror_out;

output[1:

0]encoder_out;

//wireclock;

//wirereset;

Wire[3:

Wireerror_out;

Wire[1:

Reg[1:

0]encoder;

//encoder_out

always@(data_in)

case(data_in)

4’b0001:

encoder=2’b00;

4’b0010:

encoder=2’b01;

4’b0100:

encoder=2’b10;

4’b1000:

encoder=2’b11;

assignencoder_out=encoder;

//error_out

assignerror_out=(data_in==4’b0001||data_in==4’b0010||

data_in==4’b0100||data_in==4’b1000)?

0:

1’b1;

第二节状态机

功能:

控制模块工作流程,相当于模块的骨架,对整个模块的功能起控制和协调作用,每个模块module一般只使用一个状态机。

分类:

(1)Moore状态机:

时序逻辑的输出仅取决于当前状态;

(2)Mealy状态机:

时序逻辑的输出不仅取决于当前状态,还取决于输入。

一、Moore状态机

reg[1:

0]state;

//ParameterDeclaration

parameterIDLE=2’b00,

STATE1=2’b01,

STATE2=2’b10,

BLOCK_END=2’b11;

if(reset)state<

=IDLE;

case(state)

IDLE:

state

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1