⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dat_reg_ueb2.txt

📁 minicore为一个加法器的最小结构
💻 TXT
字号:
`timescale 1ns/100ps
//_____________________________________________
// Company      :   tud			      	
// Author       :   ander			
// E-Mail   	:   <email>					
//								
// Date         :   Thu Nov  2 12:28:48 2006				
// Last Change  :   Thu Nov  2 12:28:48 2006			
// Module Name  :   dat_reg					
// Filename     :   dat_reg.v				
// Project Name	:   prz/tutorial06				
// Description	:   <short description>			
//								
//_____________________________________________
module dat_reg (
	clk,
	a_reset_l,
	data_bus,
	sel_acc,
	sel_cy,
	sel_opa,
	sel_opb,
	sel_ram_adr,
	reg_cy_bus,
	reg_cy,
	reg_acc_bus,
	reg_alu_opa_bus,
	reg_alu_opb_bus,
	reg_ram_adr
);

  	input		clk;
	input		a_reset_l;
	input	[7:0]	data_bus;
	input		sel_acc;
	input		sel_cy;
	input		sel_opa;
	input	[1:0]	sel_opb;
	input		sel_ram_adr;
	input		reg_cy_bus;

	output		reg_cy;
	output	[7:0]	reg_acc_bus;
	output	[7:0]	reg_alu_opa_bus;
	output	[7:0]	reg_alu_opb_bus;
	output	[6:0]	reg_ram_adr;

	reg	[7:0]	reg_acc;
	reg	[7:0]	reg_opa;
	reg	[7:0]	reg_opb;
	reg	[6:0]	reg_ram_adr;
	reg		reg_cy;

	always @(posedge clk or negedge a_reset_l)
	begin
		if (a_reset_l == 1'b0)
		begin
			reg_acc <= 8'h00;
			reg_opa <= 8'h00;
			reg_opb <= 8'h00;
			reg_ram_adr <= 7'h00;
			reg_cy <= 1'b0;
		end
		else
		begin
			if (sel_acc == 1'b1)
			begin
				reg_acc[7:0] <= data_bus[7:0];
			end

			if (sel_opa == 1'b1)
			begin
				reg_opa[7:0] <= data_bus[7:0];
			end

			if (sel_opb == 2'b01)
			begin
				reg_opb[7:0] <= data_bus[7:0];
			end

			if (sel_opb == 2'b10)
			begin
				reg_opb[7:0] <= reg_acc[7:0];
			end

			if (sel_ram_adr == 1'b1)
			begin
				reg_ram_adr[6:0] <= data_bus[6:0];
			end

			if (sel_cy == 1'b1)
			begin
				reg_cy <= reg_cy_bus;
			end
		end
	end

	assign reg_acc_bus = reg_acc;
	assign reg_alu_opa_bus = reg_opa;
	assign reg_alu_opb_bus = reg_opb;

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -