西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

一、实验目的

1、掌握基于Verilog语言的diamond工具设计全流程。

2、熟悉、应用Verilog HDL描述数字电路。

3、掌握Verilog HDL的组合和时序逻辑电路的设计方法。

4、掌握"小脚丫"开发板的使用方法。

二、实验原理

三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)

逻辑代码:

module total_sum

(

input wire rst,y,k,

output wire sum,

output reg3:0led

);

wire e,f,s,q;

reg h;

assign f=y;

assign s=e^f^q;

assign sum=s;

always@(negedge k or negedge rst)

if(!rst)

begin

h<=1'b0;

led3:0<=4'b0000;

end

else if(!k)

begin

h<=e&f&(~q)|(e|f)&q;

led3<=s;

led2<=led3;

led1<=led2;

led0<=led1;

end

assign e=led0;

assign q=h;

endmodule

四、综合、管脚分配、生成输出文件、下载(所有步骤截图)

综合:

管脚分配:

小脚丫已被收回,无法进行文件传输

五、仿真程序清单、波形(波形截图必做,截图!)

仿真程序清单:

`timescale 1ns/1ns

module total_sum_tb;

reg rst;//复位键

reg k;//开关

reg y;//输入的数据

wire 3:0 led;//小灯

wire sum;

initial //开始

begin//对一些参数初始化

#10 rst=1; k=1;

#10 rst=0; //复位

#10 rst=1;y=1;

#10 k=0; //在k=1时输入1,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入0,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入1,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入0,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入1,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入1,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入0,并在k=0时运算

#10 k=1;y=1;

#10 k=0; //在k=1时输入0,并在k=0时运算

end

total_sum u1

(

.k(k),//开关

.rst(rst),//复位

.y(y),//输入

.sum(sum),//观察输出

.led (led)//小灯

);

Endmodule

波形图:

六、思考与体会

通过本次实验,我进一步理解了用Verilog语言对FPGA进行了编程的过程与其所需要注意的一些要点,能自己设计出四位串行累加器,并且用FPGA实现了本次实验的内容,经过验证,与仿真结果一致,满足累加器的基本功能,做实验设计时,应该按步骤设计,首先列真值表,根据真值表列出逻辑函数表达式并化简,再根据化简了的逻辑表达式画出逻辑电路图,选择适当的电路芯片合理布线设计实验线路,最后根据路线写代码。在实验练习的巩固下,我对相关的理论知识有了更深刻的记忆和运用。

相关推荐
Eloudy17 小时前
FPGA (QSFP28 + CMAC US+ RoCEv2) 与 Ubuntu22 + Mellanox 网卡直连分析
fpga开发
szxinmai主板定制专家18 小时前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
ARM|X86+FPGA工业主板厂家2 天前
RK3588+FPGA+EtherCAT异构架构解析|工业场景如何同时保住AI算力与微秒级运动实时性
人工智能·fpga开发·架构
zlinear数据采集卡2 天前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
尤老师FPGA2 天前
HDMI数据的接收发送实验(二十)
fpga开发
千寻xun3 天前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot3 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper20203 天前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家3 天前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统
XMAIPC_Robot3 天前
RK3588+FPGA半导体设备量产踩坑大全|发热、时序漂移、推理抖动、成像干扰、EMC干扰方案
人工智能·嵌入式硬件·fpga开发·arm+fpga