西北工业大学_数字电子技术基础_实验报告_实验3

  • 格式:docx
  • 大小:360.33 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字电子技术基础第三次实验报告

、描述Quartusll 软件基本使用步骤

① 编写Verilog 代码,用文本编辑器正确编写源文件

,并经modelsim 仿真确认该电路

设计正确。

② 打开Quartusll 软件,新建工程New project (注意工程名和设计文件的

module 名保

持一致),选择和开发板一致的 FPGA 器件型号。

■■pww n

④编译,Start Compilation ,编译源文件(如有错误修改后,重新编译)

I —f 1 UuM-JI 工 HfiaMi

■sm •MITmHL 1 】it A**

5

Kii

atiT^u^ri :i&

1 u

■审3T1

H

”峠if

-

Ik r irM "小"=

③添加文件,点击

file->open,之后选择要添加的文件,并勾选 Add file to current

project.

■ 5

r-w in

¥ 口

X.

I M

tWIR fetawej

. MtamM* E«Maa4inrv*nn

♦ 1 Tl n .

EGvi I IPHIWIV

E R

H

F 4- xsffl

ECA

-iha

W M

ni

WmUAf

⑤查看电路结构,使用 Tool->RTL viewer 工具查看电路图结构,是否和预期设计一致。

rp M. Oi* >

1 JiMiMdaOML

.urmpM-

羽r 嘴U 电

Of

■ >lir¥i-*U ■屮剑 f*lM W"M*h 1 $TW

Quartus Prime

r*rfw 杠 w* ■ « ■

■! I Q » i 恆G|4OV :I4J ■忙ffl

草* F

*■

1.设计一款时钟上升沿触发的 D 寄存器

TilbfilUL.

X.■I:(■■i!|*ij JHft* I i ■i E. duqa.,卜r|il.

A, -K^'M la^34r vf (r«i H >«ra w wl as-Kif i*d mich Wp CMIM* e faharwl HKhinu. 3.' thd d&a ip*H¥l: MW mRM_LEL HDCTE^DIS' *ih tnvr 05T tc- r vtw

. llivl 4 nt* 111 Hi >4 -Mji lltf ¥111 4 igf IhB 4

■Z.7UZ - unri J ■»I fi i■- w rnr I U I FIV J mtnt- , ■ w ^aanr* fi Ir ■KdP-ir'iiH/prnrlM*!1I, *.

题目代码以及波形分析

a)编写模块源码

module flipflop(D,Clock,Q);

in put D,Clock;

output reg Q;

always@(posedge Clock) Q=D;

en dmodule

b) 测试模块

'timescale 1n s/1ps

module tb_flipflop;

reg Clock_test;

reg D_test;

wire Q_test; in itial Clock_test=0;

always #20 Clock_test=~Clock_test; in itial D_test=0;

always #77 D_test=~D_test;

flipflop UUT_flipflop(.CIock(Clock_test),.D(D_test),.Q(Q_test)); en dmodule

c) 仿真后的波形截图 input D0,D1,Sel,Clock;

output reg Q;

d) 综合后的RTL 图形

2. 设计一款4bBit 具有并行加载功能的移位寄存器编写模块源码

a) 编写模块源码

module muxdff(D0,D1,Sel,Clock,Q);

每当时钟上升沿到来时,触发器把 D 的信号传给Q

1 -Ml

B ! L IVh :> 柏"甲^革曲神甲 翹甘

I 『■申 £^4

HtfTAiw i||j

I ** E - - M ■ < J ■: < '

«

Ihl^fcp :- *

□-refD

wire D;

assign D=Sel?D1:D0;

always@(posedge Clock)

Q<=D;

endmodule

module shift4(R,L,w,Clock,Q);

input [3:0]R;

input L,w,Clock;

output wire [3:0]Q;

muxdff Stage3(w,R[3],L,Clock,Q[3]);

muxdff Stage2(Q[3],R[2],L,Clock,Q[2]);

muxdff Stage1(Q[2],R[1],L,Clock,Q[1]);

muxdff Stage0(Q[1],R[0],L,Clock,Q[0]); endmodule b) 测试模块

'timescale 1n s/1ps

module tb_shift4;

reg Clock_test;

reg L_test;

reg w_test;

reg [3:0]R_test;

wire [3:0]Q_test;

initial

Clock_test=0;

always #10 Clock_test=~Clock_test;

initial

begin

L_test=1;

#14

L_test=0;

//always #14 L_test=~L_test; end

initial

w_test=0;

always #13 w_test=~w_test;

initial