📄 bingchuan.v
字号:
`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////////////// Company: // Engineer://// Create Date: 13:25:55 10/22/08// Design Name: // Module Name: bingchuan// Project Name: // Target Device: // Tool versions: // Description://// Dependencies:// // Revision:// Revision 0.01 - File Created// Additional Comments:// ////////////////////////////////////////////////////////////////////////////////module bingchuan(clk1,hfclk,ctl1,ctl2,sjz,sjf,datain,dataout);//,clk2,datain1,datain2/************************************************* Function: // bingchuan Description: // 一个两组数据并串转换程序 并根据ctl信号和sjz、sjf信号 // 判断那个信号在前和数据正反 Calls: // buffer14 Called By: // test_bingchuan xiuzheng Table Accessed: // Table Updated: // Input: // clk1,clk2 时钟 // ctl1,ctl2 数据优先选择 // sjz,sjf 数据正反 // datain 数据输入 Output: // dataout 数据输出 Return: // Others: // *************************************************/input clk1,ctl1,ctl2,sjz,sjf;
input [27:0]datain;//input [13:0]datain1;//input [13:0]datain2;input hfclk;output [13:0]dataout;//output clk2; //时钟引线reg [13:0]data1 = 14'b00000000000000; //数据寄存器reg [13:0]data2 = 14'b00000000000000; //数据寄存器reg [13:0]data3 = 14'b00000000000000; //数据寄存器reg sum = 0; //控制变量reg [13:0]sj = 14'b00000000000000; //数据寄存器reg clk2 = 0;reg [13:0]data = 14'b00000000000000; //数据引线wire clk;always @(negedge clk1)begin clk2 = hfclk;endalways @(posedge hfclk)begin data1 = datain[27:14]; data2 = datain[13:0];endalways @(posedge clk1)begin if(ctl1 == 1) sum <= 0; else if(ctl2 == 1) sum <= 1; if(sjz == 1) sj <= 14'b00000000000000; else if(sjf == 1) sj <= 14'b11111111111111; endassign clk = hfclk ^ sum;always @(negedge clk1)begin if(clk == 1) begin data =data1; end else if(clk == 0) begin data = data2; end else begin data = 0; endendassign dataout = data3;always @(posedge clk1)begin data3= data ^ sj;endassign dataout = data3;endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -