【2021计算机体系结构实验二 五级流水线 CPU 设计报告】 1. 在单周期CPU代码的基础上添加流水线,补充以下代码以构建具有五级流水线结构的CPU:IF_ID级流水线寄存器(instruction_register) ID_EXE级流水线寄存器(id_exe_register) EXE_MEM级流水线寄存器(exe_mem_register) MEM_WB级流水线寄存器(mem_wb_register) 2. 按规定方式对寄存器与数据存储器进行初始化 3. 对所实现的流水线CPU进行仿真,验证并分析自定义指令序列的运行结果(写指令存储器) 4. 自编代码进行测试
1
分布式算术 设计基于分布式算术的 6 抽头 FIR 滤波器,y(n) = a 0 x(n) + a 1 x(n-1) + a 2 x(n-2) + a 3 x(n-3 ) + a 4 x(n-4) + a 5 x(n-5) 使用 Verilog 系数是有符号的,a 0 = 0111、a 1 = 1001、a 2 = 0101、a 3 = 0101、a 4 = 1011 和 a 5 = 0011。 当 x(0) = 1011、x(1) = 0101、x(2) = 1111、x(3)= 0110、x(4)= 1110 时,通过获得 6 位表示的 y(n) 来验证设计, x(5)= 0110, x(6)= 1110, 和 x(7) = 0011。 设计是通过舍入和饱和来实现的。
2022-04-20 17:35:37 11KB Verilog
1
采用Verilog HDL语言实现阵列乘法器和Booth编码乘法器、电子技术,开发板制作交流
1
基于quartusii的CNN卷积神经网络的verilog开发含report
2022-04-20 12:05:20 6.42MB cnn fpga开发 人工智能 神经网络
十进制频率计FPGA程序,verilog代码,比赛时使用没有问题,通过测试
2022-04-19 23:23:45 2KB FPGA verilog 十进制频率计
1
实现ZYNQ通过dma来读写DDR数据,由于上传大小的限制里面只包含PL端AXI_STREAM的代码,SDK里C语言的代码,还有块设计的图片
2022-04-19 14:32:21 67KB ZYNQ verilog DMA
1
verilog编写的UDP数据包组帧程序,输入数据为16位,UDP数据长度,源IP、目的IP、源端口、目的端口可调,输出UDP包为16位;
2022-04-19 13:37:38 6KB UDP verilog FPGA
1
Matlab代码verilog Verilog-HDL 该存储库包含有关Verilog HDL的程序 学习Verilog-HDL的资源 Verilog-HDL简介 Verilog是一种硬件描述语言(HDL)。 它是用于描述数字系统(如网络交换机或微处理器或存储器或触发器)的语言。 这意味着,通过使用HDL,我们可以描述任何级别的任何数字硬件。 HDL中描述的设计与技术无关,非常易于设计和调试,并且通常比示意图更有用,特别是对于大型电路。 为什么选择HDL? 我们设计硬件来解决特定问题。 通常,我们首先以简单的语言(例如英语)描述这些问题,然后使用诸如C,Python或Matlab之类的语言将其提炼为数学上准确的陈述。 这些是高级语言-它们提供了数据类型和命令的高级抽象,使对问题的建模变得容易。 但是,它们不能很好地转换为硬件描述。 这主要是因为: 他们没有时间观念或一系列事件接连发生 他们不对并发或同时发生的多个事件建模 他们通常假定诸如从某处获取数据并对其进行操作之类的操作是基本操作,而复杂性则隐藏在简单指令之后。 但是,硬件要求将这些操作中的每一个都明确化。 因此,硬件描述语言(H
2022-04-19 11:13:35 18KB 系统开源
1
MyHDL 使用python作为硬件描述和验证语言,轻松开发FPGA!本人已在正式产品中使用,极大提高了开发效率,相比之下纯粹用Verilog或VHDL的开发周期长不说,仿真的测试用例编写也让人头痛,而myHDL对熟悉Python的人来说就是HDL设计的瑞士军刀!
2022-04-18 16:33:42 422KB myHDL FPGA Verilog VHDL
1
FPGA设计读取SD卡中的图片并通过VGA屏显示输出的Verilog设计Quartus工程源码文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module top_sd_photo_vga( input sys_clk , //系统时钟 input sys_rst_n , //系统复位,低电平有效 //SD卡接口 input sd_miso , //SD卡SPI串行输入数据信号 output sd_clk , //SD卡SPI时钟信号 output sd_cs , //SD卡SPI片选信号 output sd_mosi , //SD卡SPI串行输出数据信号 //SDRAM接口 output sdram_clk , //SDRAM 时钟 output sdram_cke , //SDRAM 时钟有效 output sdram_cs_n , //SDRAM 片选 output sdram_ras_n , //SDRAM 行有效 output sdram_cas_n , //SDRAM 列有效 output sdram_we_n , //SDRAM 写有效 output [1:0] sdram_ba , //SDRAM Bank地址 output [1:0] sdram_dqm , //SDRAM 数据掩码 output [12:0] sdram_addr , //SDRAM 地址 inout [15:0] sdram_data , //SDRAM 数据 //VGA接口 output vga_hs , //行同步信号 output vga_vs , //场同步信号 output [15:0] vga_rgb //红绿蓝三原色输出 ); //parameter define parameter PHOTO_H_PIXEL = 24'd640 ; //设置SDRAM缓存大小 parameter PHOTO_V_PIXEL = 24'd480 ; //设置SDRAM缓存大小 //wire define wire clk_100m ; //100mhz时钟,SDRAM操作时钟 wire clk_100m_shift ; //100mhz时钟,SDRAM相位偏移时钟 wire clk_50m ; wire clk_50m_180deg ; wire clk_25m ; wire rst_n ; wire locked ; wire sys_init_done ; //系统初始化完成 wire sd_rd_start_en ; //开始写SD卡数据信号 wire [31:0] sd_rd_sec_addr ; //读数据扇区地址 wire sd_rd_busy ; //读忙信号 wire sd_rd_v