优化Core和VGA的资源消耗

This commit is contained in:
WangXuan95 2019-03-03 02:42:38 +08:00
parent 6ac644f407
commit e36557d90f
143 changed files with 4660 additions and 883 deletions

View File

@ -8,8 +8,8 @@
> * 简单直观的32bit握手总线 (naive_bus.sv)
> * 总线仲裁器(naive_bus_router.sv)可修改以方便拓展外设、多核、DMA等
> * 具有交互式UART调试器(isp_uart.sv)用户可以使用PC上的串口助手、minicom等软件实现系统复位、上传程序、查看内存等功能
> * 全部使用SystemVerilog实现不调用IP核方便在Altera、Xilinx、Lattice等不同FPGA平台上移植
> * RAM符合一定的Verilog写法自动综合成Block RAM
> * 全部使用 SystemVerilog 实现不调用IP核方便在 Altera、Xilinx、Lattice 等不同FPGA平台上移植,也方便在各种工具中进行仿真
> * RAM 符合一定的Verilog写法自动综合成 Block RAM
# SoC 结构

View File

@ -48,7 +48,7 @@
this.portSelectionBox = new System.Windows.Forms.ComboBox();
this.bootAddrGroup = new System.Windows.Forms.GroupBox();
this.bootAddrTextBox = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.MainLayout = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
@ -58,6 +58,15 @@
this.userPortOpenCloseBtn = new System.Windows.Forms.Button();
this.userPortShowHex = new System.Windows.Forms.CheckBox();
this.UserPortRecvCountLabel = new System.Windows.Forms.Label();
this.DumpGroup = new System.Windows.Forms.GroupBox();
this.DumpLayout = new System.Windows.Forms.TableLayoutPanel();
this. = new System.Windows.Forms.TextBox();
this.Layout = new System.Windows.Forms.TableLayoutPanel();
this. = new System.Windows.Forms.TextBox();
this. = new System.Windows.Forms.TextBox();
this.Title = new System.Windows.Forms.Label();
this.Title = new System.Windows.Forms.Label();
this.DUMP内存 = new System.Windows.Forms.Button();
this.serialPort = new System.IO.Ports.SerialPort(this.components);
this.compileGroup.SuspendLayout();
this.tableLayoutPanel3.SuspendLayout();
@ -66,11 +75,14 @@
this.tableLayoutPanel5.SuspendLayout();
this.tableLayoutPanel6.SuspendLayout();
this.bootAddrGroup.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.MainLayout.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tableLayoutPanel7.SuspendLayout();
this.tableLayoutPanel8.SuspendLayout();
this.DumpGroup.SuspendLayout();
this.DumpLayout.SuspendLayout();
this.Layout.SuspendLayout();
this.SuspendLayout();
//
// fileSelectionText
@ -83,7 +95,7 @@
this.fileSelectionText.Margin = new System.Windows.Forms.Padding(5);
this.fileSelectionText.Name = "fileSelectionText";
this.fileSelectionText.ReadOnly = true;
this.fileSelectionText.Size = new System.Drawing.Size(304, 28);
this.fileSelectionText.Size = new System.Drawing.Size(187, 28);
this.fileSelectionText.TabIndex = 0;
//
// fileSelectionBtn
@ -92,7 +104,7 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.fileSelectionBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.fileSelectionBtn.Location = new System.Drawing.Point(317, 3);
this.fileSelectionBtn.Location = new System.Drawing.Point(200, 3);
this.fileSelectionBtn.Name = "fileSelectionBtn";
this.fileSelectionBtn.Size = new System.Drawing.Size(114, 34);
this.fileSelectionBtn.TabIndex = 1;
@ -108,7 +120,7 @@
this.compileGroup.Location = new System.Drawing.Point(7, 7);
this.compileGroup.Margin = new System.Windows.Forms.Padding(7);
this.compileGroup.Name = "compileGroup";
this.compileGroup.Size = new System.Drawing.Size(680, 64);
this.compileGroup.Size = new System.Drawing.Size(563, 64);
this.compileGroup.TabIndex = 2;
this.compileGroup.TabStop = false;
this.compileGroup.Text = "文件";
@ -129,7 +141,7 @@
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 1;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel3.Size = new System.Drawing.Size(674, 40);
this.tableLayoutPanel3.Size = new System.Drawing.Size(557, 40);
this.tableLayoutPanel3.TabIndex = 7;
//
// otherSaveBtn
@ -138,7 +150,7 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.otherSaveBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.otherSaveBtn.Location = new System.Drawing.Point(557, 3);
this.otherSaveBtn.Location = new System.Drawing.Point(440, 3);
this.otherSaveBtn.Name = "otherSaveBtn";
this.otherSaveBtn.Size = new System.Drawing.Size(114, 34);
this.otherSaveBtn.TabIndex = 5;
@ -153,7 +165,7 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.saveBtn.Enabled = false;
this.saveBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.saveBtn.Location = new System.Drawing.Point(437, 3);
this.saveBtn.Location = new System.Drawing.Point(320, 3);
this.saveBtn.Name = "saveBtn";
this.saveBtn.Size = new System.Drawing.Size(114, 34);
this.saveBtn.TabIndex = 4;
@ -172,7 +184,7 @@
this.codeText.Multiline = true;
this.codeText.Name = "codeText";
this.codeText.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.codeText.Size = new System.Drawing.Size(688, 444);
this.codeText.Size = new System.Drawing.Size(571, 504);
this.codeText.TabIndex = 4;
//
// compilePromptText
@ -181,12 +193,12 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.compilePromptText.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.compilePromptText.Location = new System.Drawing.Point(3, 531);
this.compilePromptText.Location = new System.Drawing.Point(3, 591);
this.compilePromptText.Multiline = true;
this.compilePromptText.Name = "compilePromptText";
this.compilePromptText.ReadOnly = true;
this.compilePromptText.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.compilePromptText.Size = new System.Drawing.Size(688, 137);
this.compilePromptText.Size = new System.Drawing.Size(571, 156);
this.compilePromptText.TabIndex = 3;
//
// HexStreamGroup
@ -196,9 +208,9 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.HexStreamGroup.Controls.Add(this.tableLayoutPanel4);
this.HexStreamGroup.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HexStreamGroup.Location = new System.Drawing.Point(703, 3);
this.HexStreamGroup.Location = new System.Drawing.Point(586, 3);
this.HexStreamGroup.Name = "HexStreamGroup";
this.HexStreamGroup.Size = new System.Drawing.Size(294, 671);
this.HexStreamGroup.Size = new System.Drawing.Size(244, 750);
this.HexStreamGroup.TabIndex = 5;
this.HexStreamGroup.TabStop = false;
this.HexStreamGroup.Text = "指令流";
@ -219,7 +231,7 @@
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 60F));
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel4.Size = new System.Drawing.Size(288, 647);
this.tableLayoutPanel4.Size = new System.Drawing.Size(238, 726);
this.tableLayoutPanel4.TabIndex = 0;
//
// binText
@ -233,7 +245,7 @@
this.binText.Multiline = true;
this.binText.Name = "binText";
this.binText.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.binText.Size = new System.Drawing.Size(282, 481);
this.binText.Size = new System.Drawing.Size(232, 560);
this.binText.TabIndex = 5;
//
// tableLayoutPanel5
@ -248,16 +260,16 @@
this.tableLayoutPanel5.Name = "tableLayoutPanel5";
this.tableLayoutPanel5.RowCount = 1;
this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel5.Size = new System.Drawing.Size(282, 44);
this.tableLayoutPanel5.Size = new System.Drawing.Size(232, 44);
this.tableLayoutPanel5.TabIndex = 0;
//
// saveVerilog
//
this.saveVerilog.Dock = System.Windows.Forms.DockStyle.Fill;
this.saveVerilog.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.saveVerilog.Location = new System.Drawing.Point(87, 3);
this.saveVerilog.Location = new System.Drawing.Point(72, 3);
this.saveVerilog.Name = "saveVerilog";
this.saveVerilog.Size = new System.Drawing.Size(192, 38);
this.saveVerilog.Size = new System.Drawing.Size(157, 38);
this.saveVerilog.TabIndex = 2;
this.saveVerilog.Text = "保存指令流 (Verilog)";
this.saveVerilog.UseVisualStyleBackColor = true;
@ -269,7 +281,7 @@
this.compileBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.compileBtn.Location = new System.Drawing.Point(3, 3);
this.compileBtn.Name = "compileBtn";
this.compileBtn.Size = new System.Drawing.Size(78, 38);
this.compileBtn.Size = new System.Drawing.Size(63, 38);
this.compileBtn.TabIndex = 0;
this.compileBtn.Text = "汇编";
this.compileBtn.UseVisualStyleBackColor = true;
@ -287,16 +299,16 @@
this.tableLayoutPanel6.Name = "tableLayoutPanel6";
this.tableLayoutPanel6.RowCount = 1;
this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel6.Size = new System.Drawing.Size(282, 44);
this.tableLayoutPanel6.Size = new System.Drawing.Size(232, 44);
this.tableLayoutPanel6.TabIndex = 1;
//
// programBtn
//
this.programBtn.Dock = System.Windows.Forms.DockStyle.Fill;
this.programBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.programBtn.Location = new System.Drawing.Point(191, 3);
this.programBtn.Location = new System.Drawing.Point(157, 3);
this.programBtn.Name = "programBtn";
this.programBtn.Size = new System.Drawing.Size(88, 38);
this.programBtn.Size = new System.Drawing.Size(72, 38);
this.programBtn.TabIndex = 3;
this.programBtn.Text = "烧写";
this.programBtn.UseVisualStyleBackColor = true;
@ -310,7 +322,7 @@
this.portSelectionBox.FormattingEnabled = true;
this.portSelectionBox.Location = new System.Drawing.Point(3, 3);
this.portSelectionBox.Name = "portSelectionBox";
this.portSelectionBox.Size = new System.Drawing.Size(182, 28);
this.portSelectionBox.Size = new System.Drawing.Size(148, 28);
this.portSelectionBox.TabIndex = 0;
this.portSelectionBox.DropDown += new System.EventHandler(this.InitializeCurrentPort);
//
@ -320,10 +332,10 @@
this.bootAddrGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.bootAddrGroup.Location = new System.Drawing.Point(3, 103);
this.bootAddrGroup.Name = "bootAddrGroup";
this.bootAddrGroup.Size = new System.Drawing.Size(282, 54);
this.bootAddrGroup.Size = new System.Drawing.Size(232, 54);
this.bootAddrGroup.TabIndex = 6;
this.bootAddrGroup.TabStop = false;
this.bootAddrGroup.Text = "boot地址";
this.bootAddrGroup.Text = "BOOT地址";
//
// bootAddrTextBox
//
@ -332,28 +344,30 @@
this.bootAddrTextBox.Location = new System.Drawing.Point(3, 21);
this.bootAddrTextBox.Margin = new System.Windows.Forms.Padding(5);
this.bootAddrTextBox.Name = "bootAddrTextBox";
this.bootAddrTextBox.Size = new System.Drawing.Size(276, 28);
this.bootAddrTextBox.Size = new System.Drawing.Size(226, 28);
this.bootAddrTextBox.TabIndex = 1;
this.bootAddrTextBox.Text = "00008000";
this.bootAddrTextBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// tableLayoutPanel1
// MainLayout
//
this.tableLayoutPanel1.ColumnCount = 3;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 300F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 300F));
this.tableLayoutPanel1.Controls.Add(this.HexStreamGroup, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.groupBox1, 2, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1300, 677);
this.tableLayoutPanel1.TabIndex = 6;
this.MainLayout.ColumnCount = 4;
this.MainLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.MainLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F));
this.MainLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F));
this.MainLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 380F));
this.MainLayout.Controls.Add(this.HexStreamGroup, 1, 0);
this.MainLayout.Controls.Add(this.tableLayoutPanel2, 0, 0);
this.MainLayout.Controls.Add(this.groupBox1, 2, 0);
this.MainLayout.Controls.Add(this.DumpGroup, 3, 0);
this.MainLayout.Dock = System.Windows.Forms.DockStyle.Fill;
this.MainLayout.Location = new System.Drawing.Point(0, 0);
this.MainLayout.Name = "MainLayout";
this.MainLayout.RowCount = 1;
this.MainLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.MainLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.MainLayout.Size = new System.Drawing.Size(1463, 756);
this.MainLayout.TabIndex = 6;
//
// tableLayoutPanel2
//
@ -370,16 +384,16 @@
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 78F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 76F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 24F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(694, 671);
this.tableLayoutPanel2.Size = new System.Drawing.Size(577, 750);
this.tableLayoutPanel2.TabIndex = 6;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.tableLayoutPanel7);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(1003, 3);
this.groupBox1.Location = new System.Drawing.Point(836, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(294, 671);
this.groupBox1.Size = new System.Drawing.Size(244, 750);
this.groupBox1.TabIndex = 7;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "串口查看";
@ -398,7 +412,7 @@
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 90F));
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel7.Size = new System.Drawing.Size(288, 647);
this.tableLayoutPanel7.Size = new System.Drawing.Size(238, 726);
this.tableLayoutPanel7.TabIndex = 0;
//
// userPortTextBox
@ -412,7 +426,7 @@
this.userPortTextBox.Multiline = true;
this.userPortTextBox.Name = "userPortTextBox";
this.userPortTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.userPortTextBox.Size = new System.Drawing.Size(282, 511);
this.userPortTextBox.Size = new System.Drawing.Size(232, 590);
this.userPortTextBox.TabIndex = 6;
//
// tableLayoutPanel8
@ -429,16 +443,16 @@
this.tableLayoutPanel8.RowCount = 2;
this.tableLayoutPanel8.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel8.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel8.Size = new System.Drawing.Size(282, 84);
this.tableLayoutPanel8.Size = new System.Drawing.Size(232, 84);
this.tableLayoutPanel8.TabIndex = 2;
//
// userPortClearBtn
//
this.userPortClearBtn.Dock = System.Windows.Forms.DockStyle.Fill;
this.userPortClearBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.userPortClearBtn.Location = new System.Drawing.Point(191, 45);
this.userPortClearBtn.Location = new System.Drawing.Point(157, 45);
this.userPortClearBtn.Name = "userPortClearBtn";
this.userPortClearBtn.Size = new System.Drawing.Size(88, 36);
this.userPortClearBtn.Size = new System.Drawing.Size(72, 36);
this.userPortClearBtn.TabIndex = 4;
this.userPortClearBtn.Text = "清空";
this.userPortClearBtn.UseVisualStyleBackColor = true;
@ -448,9 +462,9 @@
//
this.userPortOpenCloseBtn.Dock = System.Windows.Forms.DockStyle.Fill;
this.userPortOpenCloseBtn.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.userPortOpenCloseBtn.Location = new System.Drawing.Point(191, 3);
this.userPortOpenCloseBtn.Location = new System.Drawing.Point(157, 3);
this.userPortOpenCloseBtn.Name = "userPortOpenCloseBtn";
this.userPortOpenCloseBtn.Size = new System.Drawing.Size(88, 36);
this.userPortOpenCloseBtn.Size = new System.Drawing.Size(72, 36);
this.userPortOpenCloseBtn.TabIndex = 3;
this.userPortOpenCloseBtn.Text = "打开";
this.userPortOpenCloseBtn.UseVisualStyleBackColor = true;
@ -462,7 +476,7 @@
this.userPortShowHex.Dock = System.Windows.Forms.DockStyle.Fill;
this.userPortShowHex.Location = new System.Drawing.Point(3, 45);
this.userPortShowHex.Name = "userPortShowHex";
this.userPortShowHex.Size = new System.Drawing.Size(182, 36);
this.userPortShowHex.Size = new System.Drawing.Size(148, 36);
this.userPortShowHex.TabIndex = 5;
this.userPortShowHex.Text = "十六进制显示";
this.userPortShowHex.UseVisualStyleBackColor = true;
@ -471,13 +485,132 @@
//
this.UserPortRecvCountLabel.AutoSize = true;
this.UserPortRecvCountLabel.Dock = System.Windows.Forms.DockStyle.Fill;
this.UserPortRecvCountLabel.Location = new System.Drawing.Point(3, 610);
this.UserPortRecvCountLabel.Location = new System.Drawing.Point(3, 689);
this.UserPortRecvCountLabel.Margin = new System.Windows.Forms.Padding(3);
this.UserPortRecvCountLabel.Name = "UserPortRecvCountLabel";
this.UserPortRecvCountLabel.Size = new System.Drawing.Size(282, 34);
this.UserPortRecvCountLabel.Size = new System.Drawing.Size(232, 34);
this.UserPortRecvCountLabel.TabIndex = 7;
this.UserPortRecvCountLabel.Text = "接收: 0 B";
//
// 内存DumpGroup
//
this.DumpGroup.Controls.Add(this.DumpLayout);
this.DumpGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.DumpGroup.Location = new System.Drawing.Point(1086, 3);
this.DumpGroup.Name = "内存DumpGroup";
this.DumpGroup.Size = new System.Drawing.Size(374, 750);
this.DumpGroup.TabIndex = 8;
this.DumpGroup.TabStop = false;
this.DumpGroup.Text = "内存DUMP";
//
// 内存DumpLayout
//
this.DumpLayout.ColumnCount = 1;
this.DumpLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.DumpLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.DumpLayout.Controls.Add(this., 0, 2);
this.DumpLayout.Controls.Add(this.Layout, 0, 0);
this.DumpLayout.Controls.Add(this.DUMP内存, 0, 1);
this.DumpLayout.Dock = System.Windows.Forms.DockStyle.Fill;
this.DumpLayout.Location = new System.Drawing.Point(3, 21);
this.DumpLayout.Name = "内存DumpLayout";
this.DumpLayout.RowCount = 3;
this.DumpLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 85F));
this.DumpLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.DumpLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.DumpLayout.Size = new System.Drawing.Size(368, 726);
this.DumpLayout.TabIndex = 1;
//
// 内存内容
//
this..Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this..Font = new System.Drawing.Font("Consolas", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this..ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this..Location = new System.Drawing.Point(3, 128);
this..Multiline = true;
this..Name = "内存内容";
this..ReadOnly = true;
this..ScrollBars = System.Windows.Forms.ScrollBars.Both;
this..Size = new System.Drawing.Size(362, 595);
this..TabIndex = 6;
//
// 地址长度指定Layout
//
this.Layout.ColumnCount = 2;
this.Layout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.Layout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.Layout.Controls.Add(this., 1, 0);
this.Layout.Controls.Add(this., 1, 1);
this.Layout.Controls.Add(this.Title, 0, 1);
this.Layout.Controls.Add(this.Title, 0, 0);
this.Layout.Dock = System.Windows.Forms.DockStyle.Fill;
this.Layout.Location = new System.Drawing.Point(3, 3);
this.Layout.Name = "地址长度指定Layout";
this.Layout.RowCount = 2;
this.Layout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.Layout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.Layout.Size = new System.Drawing.Size(362, 79);
this.Layout.TabIndex = 0;
//
// 起始地址
//
this..Dock = System.Windows.Forms.DockStyle.Fill;
this..Font = new System.Drawing.Font("宋体", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this..Location = new System.Drawing.Point(186, 5);
this..Margin = new System.Windows.Forms.Padding(5);
this..Name = "起始地址";
this..Size = new System.Drawing.Size(171, 28);
this..TabIndex = 4;
this..Text = "00010000";
this..TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// 长度
//
this..Dock = System.Windows.Forms.DockStyle.Fill;
this..Font = new System.Drawing.Font("宋体", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this..Location = new System.Drawing.Point(186, 44);
this..Margin = new System.Windows.Forms.Padding(5);
this..Name = "长度";
this..Size = new System.Drawing.Size(171, 28);
this..TabIndex = 3;
this..Text = "80";
this..TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// 长度Title
//
this.Title.AutoSize = true;
this.Title.Dock = System.Windows.Forms.DockStyle.Fill;
this.Title.Location = new System.Drawing.Point(3, 39);
this.Title.Name = "长度Title";
this.Title.Size = new System.Drawing.Size(175, 40);
this.Title.TabIndex = 2;
this.Title.Text = "长度(16进制):";
this.Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// 起始地址Title
//
this.Title.AutoSize = true;
this.Title.Dock = System.Windows.Forms.DockStyle.Fill;
this.Title.Location = new System.Drawing.Point(3, 0);
this.Title.Name = "起始地址Title";
this.Title.Size = new System.Drawing.Size(175, 39);
this.Title.TabIndex = 0;
this.Title.Text = "起始地址(16进制)";
this.Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// DUMP内存
//
this.DUMP内存.Dock = System.Windows.Forms.DockStyle.Fill;
this.DUMP内存.Location = new System.Drawing.Point(3, 88);
this.DUMP内存.Name = "DUMP内存";
this.DUMP内存.Size = new System.Drawing.Size(362, 34);
this.DUMP内存.TabIndex = 1;
this.DUMP内存.Text = "DUMP内存";
this.DUMP内存.UseVisualStyleBackColor = true;
this.DUMP内存.Click += new System.EventHandler(this.DUMP内存_Click);
//
// serialPort
//
this.serialPort.BaudRate = 115200;
@ -489,8 +622,8 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1300, 677);
this.Controls.Add(this.tableLayoutPanel1);
this.ClientSize = new System.Drawing.Size(1463, 756);
this.Controls.Add(this.MainLayout);
this.Name = "MainForm";
this.Text = "USTCRVSoC 辅助工具";
this.compileGroup.ResumeLayout(false);
@ -503,7 +636,7 @@
this.tableLayoutPanel6.ResumeLayout(false);
this.bootAddrGroup.ResumeLayout(false);
this.bootAddrGroup.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.MainLayout.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.groupBox1.ResumeLayout(false);
@ -511,6 +644,11 @@
this.tableLayoutPanel7.PerformLayout();
this.tableLayoutPanel8.ResumeLayout(false);
this.tableLayoutPanel8.PerformLayout();
this.DumpGroup.ResumeLayout(false);
this.DumpLayout.ResumeLayout(false);
this.DumpLayout.PerformLayout();
this.Layout.ResumeLayout(false);
this.Layout.PerformLayout();
this.ResumeLayout(false);
}
@ -524,7 +662,7 @@
private System.Windows.Forms.TextBox codeText;
private System.Windows.Forms.Button saveBtn;
private System.Windows.Forms.GroupBox HexStreamGroup;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel MainLayout;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
private System.Windows.Forms.Button otherSaveBtn;
@ -547,6 +685,15 @@
private System.Windows.Forms.Button userPortClearBtn;
private System.Windows.Forms.CheckBox userPortShowHex;
private System.Windows.Forms.Label UserPortRecvCountLabel;
private System.Windows.Forms.GroupBox DumpGroup;
private System.Windows.Forms.TableLayoutPanel DumpLayout;
private System.Windows.Forms.TextBox ;
private System.Windows.Forms.TableLayoutPanel Layout;
private System.Windows.Forms.TextBox ;
private System.Windows.Forms.TextBox ;
private System.Windows.Forms.Label Title;
private System.Windows.Forms.Label Title;
private System.Windows.Forms.Button DUMP内存;
}
}

View File

@ -1,26 +1,20 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace USTCRVSoC_tool
{
public partial class MainForm : Form
{
private const string RISCV_TOOLS_PATH = ".\\riscv32-elf-tools-windows\\";
private const string VerilogHead = "module instr_rom(\n input logic clk, rst_n,\n naive_bus.slave bus\n);\nlocalparam INSTR_CNT = 30'd";
private const string VerilogMid = ";\nwire [0:INSTR_CNT-1] [31:0] instr_rom_cell = {\n";
private const string VerilogTail = "};\n\nlogic [29:0] cell_rd_addr;\n\nassign bus.rd_gnt = bus.rd_req;\nassign bus.wr_gnt = bus.wr_req;\nassign cell_rd_addr = bus.rd_addr[31:2];\nalways @ (posedge clk or negedge rst_n)\n if(~rst_n)\n bus.rd_data <= 0;\n else begin\n if(bus.rd_req)\n bus.rd_data <= (cell_rd_addr>=INSTR_CNT) ? 0 : instr_rom_cell[cell_rd_addr];\n else\n bus.rd_data <= 0;\n end\n\nendmodule\n\n";
private uint _userPortCount;
private const string RISCV_TOOLS_PATH = ".\\riscv32-elf-tools-windows\\"; // RISC-V工具链的路径
private uint userPortCount
#region
private uint _userPortCount;
private uint userPortCount // 接收字节数计数属性
{
get
{
@ -32,13 +26,15 @@ namespace USTCRVSoC_tool
changeCountText(String.Format("接收: {0:D} B", _userPortCount));
}
}
#endregion
public MainForm()
public MainForm() // 窗体构造函数
{
InitializeComponent();
InitializeCurrentPort(null, null);
}
#region
private void InitializeCurrentPort(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
@ -53,7 +49,9 @@ namespace USTCRVSoC_tool
compilePromptText.Text = "未找到串口,请插入设备,或者检查串口驱动是否安装";
}
}
#endregion
#region
private void fileSelectionBtn_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
@ -111,8 +109,10 @@ namespace USTCRVSoC_tool
}
}
}
#endregion
public bool RunCmd(string path, string command, ref string msg)
#region
public bool RunCmd(string path, string command, ref string msg) // 调用 CMD 运行一个命令
{
try
{
@ -143,8 +143,7 @@ namespace USTCRVSoC_tool
return false;
}
}
private string dumpBin(string bin_file_path)
private string dumpBin(string bin_file_path) // 读取汇编出的.bin 文件并调整字节序、转换为一行一行的指令
{
StringBuilder strbuild = new StringBuilder();
byte[] bin = System.IO.File.ReadAllBytes(bin_file_path);
@ -156,8 +155,7 @@ namespace USTCRVSoC_tool
}
return strbuild.ToString();
}
private void compileBtn_Click(object sender, EventArgs e)
private void compileBtn_Click(object sender, EventArgs e) // 点击“汇编”按钮时完成一系列CMD命令并把编译结果读入到 binText 这个控件里
{
bool stat;
string msg = "";
@ -226,6 +224,12 @@ namespace USTCRVSoC_tool
return;
}
}
#endregion
#region Verilog InstrROM
private const string VerilogHead = "module instr_rom(\n input logic clk, rst_n,\n naive_bus.slave bus\n);\nlocalparam INSTR_CNT = 30'd";
private const string VerilogMid = ";\nwire [0:INSTR_CNT-1] [31:0] instr_rom_cell = {\n";
private const string VerilogTail = "};\n\nlogic [29:0] cell_rd_addr;\n\nassign bus.rd_gnt = bus.rd_req;\nassign bus.wr_gnt = bus.wr_req;\nassign cell_rd_addr = bus.rd_addr[31:2];\nalways @ (posedge clk or negedge rst_n)\n if(~rst_n)\n bus.rd_data <= 0;\n else begin\n if(bus.rd_req)\n bus.rd_data <= (cell_rd_addr>=INSTR_CNT) ? 0 : instr_rom_cell[cell_rd_addr];\n else\n bus.rd_data <= 0;\n end\n\nendmodule\n\n";
private string genVerilogRom()
{
@ -271,24 +275,32 @@ namespace USTCRVSoC_tool
}
}
}
#endregion
private bool serialSessionA(string send, ref string response)
#region
private bool serialSessionA(string send, ref string response) // 发送一个命令并得到响应字符串
{
return serialSessionTry(send, ref response, "");
}
private bool serialSessionB(string send, string respectResponse)
private bool serialSessionB(string send, string respectResponse) // 发送一个命令并等待指定的响应字符串到来
{
string response = "";
return serialSessionTry(send, ref response, respectResponse);
}
private bool serialSessionTry(string send, ref string response, string respectResponse, int try_time = 3)
private bool serialSessionTry(string send, ref string response, string respectResponse, int try_time = 3) // 多次请求全部失败时,返回失败,否则返回成功
{
for (int i = 0; i < try_time; i++)
{
try { serialPort.ReadExisting(); }// 清空接收缓冲区
catch { }
if (serialSend(send))
{
if (serialRead(ref response, respectResponse))
return true;
}
}
compilePromptText.AppendText(" *** 串口调试多次尝试失败 ***\r\n");
return false;
}
@ -331,20 +343,61 @@ namespace USTCRVSoC_tool
compilePromptText.AppendText(" response: *** 超时 ***\r\n" + response);
return false;
}
#endregion
private uint getBootAddr()
#region
private bool refreshSerial()
{
return Convert.ToUInt32(bootAddrTextBox.Text, 16);
if (serialPort.IsOpen)
serialPort.Close();
try
{
serialPort.PortName = portSelectionBox.Text;
serialPort.Open();
}
catch (Exception ex)
{
compilePromptText.AppendText(" *** 打开串口出错 ***\r\n " + ex.Message);
refreshPortStatus();
return false;
}
return true;
}
private void programBtn_Click(object sender, EventArgs e)
private void refreshPortStatus()
{
if (serialPort.IsOpen)
userPortOpenCloseBtn.Text = "关闭";
else
userPortOpenCloseBtn.Text = "打开";
}
private void userPortOpenCloseBtn_Click(object sender, EventArgs e)
{
if (userPortOpenCloseBtn.Text == "打开")
{
compilePromptText.Clear();
refreshSerial();
serialSessionB("s", "debug");
serialSessionB("o", "user");
}
else
{
serialPort.Close();
}
refreshPortStatus();
}
#endregion
#region
private void programBtn_Click(object sender, EventArgs e) // 烧录程序
{
enableUartDisplay = false;
userPortTextBox.Clear();
compilePromptText.Clear();
uint boot_addr;
try
{
boot_addr = getBootAddr();
boot_addr = Convert.ToUInt32(bootAddrTextBox.Text, 16);
}
catch (Exception ex)
{
@ -352,26 +405,11 @@ namespace USTCRVSoC_tool
return;
}
if (!serialPort.IsOpen)
{
serialPort.PortName = portSelectionBox.Text;
try
{
serialPort.Open();
}
catch (Exception ex)
{
compilePromptText.AppendText(" *** 打开串口出错 ***\r\n " + ex.Message);
refreshPortStatus();
return;
}
}
refreshPortStatus();
if (!refreshSerial())
return;
if (!serialSessionB("s", "debug"))
{
return;
}
uint index = 0;
foreach (string line in binText.Text.Split())
@ -383,49 +421,74 @@ namespace USTCRVSoC_tool
index++;
if (!serialSessionB(send_str, "wr done"))
{
return;
}
}
if (!serialSessionB(string.Format("r{0:x8}", boot_addr), "rst done"))
return;
compilePromptText.AppendText(" *** 烧录完成 ***\r\n");
try { serialPort.ReadExisting(); }// 清空接收缓冲区
catch { }
userPortTextBox.Clear();
enableUartDisplay = true;
}
#endregion
#region DUMP内存
private void DUMP内存_Click(object sender, EventArgs e) // 查看内存
{
enableUartDisplay = false;
userPortTextBox.Clear();
compilePromptText.Clear();
uint start, len;
try
{
start = Convert.ToUInt32(.Text, 16);
len = Convert.ToUInt32(.Text, 16);
}
catch (Exception ex)
{
compilePromptText.AppendText(" *** 起始地址格式有误 ***\r\n " + ex.Message);
return;
}
compilePromptText.AppendText(" *** 烧录成功 ***\r\n");
}
private void userPortOpenCloseBtn_Click(object sender, EventArgs e)
{
if (userPortOpenCloseBtn.Text == "打开")
start = 4 * (start / 4); // 起始地址自动与4对齐
if (len > 0x1000)
{
serialPort.PortName = portSelectionBox.Text;
try
{
serialPort.Open();
userPortCount = 0;
}
catch (Exception ex)
{
compilePromptText.AppendText(" *** 打开串口出错 ***\r\n " + ex.Message);
}
compilePromptText.AppendText(" *** 长度不能大于0x1000 ***\r\n ");
return;
}
else
len /= 4;
if (!refreshSerial())
return;
if (!serialSessionB("s", "debug"))
return;
.Clear();
uint index = 0;
for (index = 0; index < len; index++)
{
serialPort.Close();
string send_str = String.Format("{0:x8}", start + index * 4);
string response = "";
if (!serialSessionA(send_str, ref response))
return;
.AppendText(String.Format("{0:x8} : {1:S}\r\n", start + index * 4, response.Trim()));
}
refreshPortStatus();
}
private void refreshPortStatus()
{
if (serialPort.IsOpen)
userPortOpenCloseBtn.Text = "关闭";
else
userPortOpenCloseBtn.Text = "打开";
serialSessionB("o", "user");
compilePromptText.AppendText(" *** Dump内存完成 ***\r\n");
try { serialPort.ReadExisting(); }// 清空接收缓冲区
catch { }
userPortTextBox.Clear();
enableUartDisplay = true;
}
#endregion
#region
bool enableUartDisplay = true;
public delegate void changeTextHandler(object str);
private void appendUserPortText(object str)
@ -454,7 +517,6 @@ namespace USTCRVSoC_tool
}
}
private void userPortClearBtn_Click(object sender, EventArgs e)
{
userPortTextBox.Clear();
@ -462,26 +524,30 @@ namespace USTCRVSoC_tool
private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
try
if (enableUartDisplay)
{
string recvdata = sp.ReadExisting();
if (userPortShowHex.Checked)
SerialPort sp = (SerialPort)sender;
try
{
StringBuilder sb = new StringBuilder();
foreach (byte ch in recvdata)
string recvdata = sp.ReadExisting();
if (userPortShowHex.Checked)
{
sb.Append(String.Format("{0:X2} ", ch));
StringBuilder sb = new StringBuilder();
foreach (byte ch in recvdata)
{
sb.Append(String.Format("{0:X2} ", ch));
}
appendUserPortText(sb.ToString());
}
appendUserPortText(sb.ToString());
else
{
appendUserPortText(recvdata);
}
userPortCount += (uint)recvdata.Length;
}
else
{
appendUserPortText(recvdata);
}
userPortCount += (uint)recvdata.Length;
catch { }
}
catch { }
}
#endregion
}
}

View File

@ -0,0 +1,166 @@
E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top_tb.sv {1 {vlog -work work -sv {E:\work-Lab\USTCRVSoC\hardware\RTL\soc_top_tb.sv}
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module soc_top_tb
Top level modules:
soc_top_tb
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling interface naive_bus
Top level modules:
--none--
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module uart_rx
Top level modules:
uart_rx
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module instr_rom
Top level modules:
instr_rom
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module uart_tx_line
Top level modules:
uart_tx_line
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_regfile
Top level modules:
core_regfile
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv {2 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module isp_uart
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv(92): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv(94): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
Top level modules:
isp_uart
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module ram
Top level modules:
ram
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module ram_bus_wrapper
Top level modules:
ram_bus_wrapper
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv {2 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module naive_bus_router
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(64): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(65): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(66): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(67): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(68): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(69): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(70): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(71): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(72): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(73): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(73): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(75): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(76): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(77): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(78): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(81): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(82): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(83): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(84): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(85): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(96): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(97): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(98): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(99): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(99): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(101): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(102): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
** Warning: E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv(105): (vlog-2583) [SVCHK] - Some checking for conflicts with always_comb and always_latch variables not yet supported. Run vopt to provide additional design-level checks.
Top level modules:
naive_bus_router
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_ex_branch_judge
Top level modules:
core_ex_branch_judge
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_id_stage
Top level modules:
core_id_stage
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_alu
Top level modules:
core_alu
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_bus_wrapper
Top level modules:
core_bus_wrapper
} {} {}} E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv {1 {vlog -work work -sv E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module core_top
Top level modules:
core_top
} {} {}}

View File

@ -0,0 +1,533 @@
; Copyright 1991-2009 Mentor Graphics Corporation
;
; All Rights Reserved.
;
; THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS THE PROPERTY OF
; MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS.
;
[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
sv_std = $MODEL_TECH/../sv_std
; Altera Primitive libraries
;
; VHDL Section
;
altera_mf = $MODEL_TECH/../altera/vhdl/altera_mf
altera = $MODEL_TECH/../altera/vhdl/altera
altera_lnsim = $MODEL_TECH/../altera/vhdl/altera_lnsim
lpm = $MODEL_TECH/../altera/vhdl/220model
220model = $MODEL_TECH/../altera/vhdl/220model
max = $MODEL_TECH/../altera/vhdl/max
maxii = $MODEL_TECH/../altera/vhdl/maxii
maxv = $MODEL_TECH/../altera/vhdl/maxv
stratix = $MODEL_TECH/../altera/vhdl/stratix
stratixii = $MODEL_TECH/../altera/vhdl/stratixii
stratixiigx = $MODEL_TECH/../altera/vhdl/stratixiigx
hardcopyii = $MODEL_TECH/../altera/vhdl/hardcopyii
hardcopyiii = $MODEL_TECH/../altera/vhdl/hardcopyiii
hardcopyiv = $MODEL_TECH/../altera/vhdl/hardcopyiv
cyclone = $MODEL_TECH/../altera/vhdl/cyclone
cycloneii = $MODEL_TECH/../altera/vhdl/cycloneii
cycloneiii = $MODEL_TECH/../altera/vhdl/cycloneiii
cycloneiiils = $MODEL_TECH/../altera/vhdl/cycloneiiils
sgate = $MODEL_TECH/../altera/vhdl/sgate
stratixgx = $MODEL_TECH/../altera/vhdl/stratixgx
altgxb = $MODEL_TECH/../altera/vhdl/altgxb
stratixgx_gxb = $MODEL_TECH/../altera/vhdl/stratixgx_gxb
stratixiigx_hssi = $MODEL_TECH/../altera/vhdl/stratixiigx_hssi
arriagx_hssi = $MODEL_TECH/../altera/vhdl/arriagx_hssi
arriaii = $MODEL_TECH/../altera/vhdl/arriaii
arriaii_hssi = $MODEL_TECH/../altera/vhdl/arriaii_hssi
arriaii_pcie_hip = $MODEL_TECH/../altera/vhdl/arriaii_pcie_hip
arriaiigz = $MODEL_TECH/../altera/vhdl/arriaiigz
arriaiigz_hssi = $MODEL_TECH/../altera/vhdl/arriaiigz_hssi
arriaiigz_pcie_hip = $MODEL_TECH/../altera/vhdl/arriaiigz_pcie_hip
arriagx = $MODEL_TECH/../altera/vhdl/arriagx
altgxb_lib = $MODEL_TECH/../altera/vhdl/altgxb
stratixiv = $MODEL_TECH/../altera/vhdl/stratixiv
stratixiv_hssi = $MODEL_TECH/../altera/vhdl/stratixiv_hssi
stratixiv_pcie_hip = $MODEL_TECH/../altera/vhdl/stratixiv_pcie_hip
cycloneiv = $MODEL_TECH/../altera/vhdl/cycloneiv
cycloneiv_hssi = $MODEL_TECH/../altera/vhdl/cycloneiv_hssi
cycloneiv_pcie_hip = $MODEL_TECH/../altera/vhdl/cycloneiv_pcie_hip
cycloneive = $MODEL_TECH/../altera/vhdl/cycloneive
hardcopyiv_hssi = $MODEL_TECH/../altera/vhdl/hardcopyiv_hssi
hardcopyiv_pcie_hip = $MODEL_TECH/../altera/vhdl/hardcopyiv_pcie_hip
stratixv = $MODEL_TECH/../altera/vhdl/stratixv
stratixv_hssi = $MODEL_TECH/../altera/vhdl/stratixv_hssi
stratixv_pcie_hip = $MODEL_TECH/../altera/vhdl/stratixv_pcie_hip
arriavgz = $MODEL_TECH/../altera/vhdl/arriavgz
arriavgz_hssi = $MODEL_TECH/../altera/vhdl/arriavgz_hssi
arriavgz_pcie_hip = $MODEL_TECH/../altera/vhdl/arriavgz_pcie_hip
arriav = $MODEL_TECH/../altera/vhdl/arriav
cyclonev = $MODEL_TECH/../altera/vhdl/cyclonev
twentynm = $MODEL_TECH/../altera/vhdl/twentynm
twentynm_hssi = $MODEL_TECH/../altera/vhdl/twentynm_hssi
twentynm_hip = $MODEL_TECH/../altera/vhdl/twentynm_hip
;
; Verilog Section
;
altera_mf_ver = $MODEL_TECH/../altera/verilog/altera_mf
altera_ver = $MODEL_TECH/../altera/verilog/altera
altera_lnsim_ver = $MODEL_TECH/../altera/verilog/altera_lnsim
lpm_ver = $MODEL_TECH/../altera/verilog/220model
220model_ver = $MODEL_TECH/../altera/verilog/220model
max_ver = $MODEL_TECH/../altera/verilog/max
maxii_ver = $MODEL_TECH/../altera/verilog/maxii
maxv_ver = $MODEL_TECH/../altera/verilog/maxv
stratix_ver = $MODEL_TECH/../altera/verilog/stratix
stratixii_ver = $MODEL_TECH/../altera/verilog/stratixii
stratixiigx_ver = $MODEL_TECH/../altera/verilog/stratixiigx
arriagx_ver = $MODEL_TECH/../altera/verilog/arriagx
hardcopyii_ver = $MODEL_TECH/../altera/verilog/hardcopyii
hardcopyiii_ver = $MODEL_TECH/../altera/verilog/hardcopyiii
hardcopyiv_ver = $MODEL_TECH/../altera/verilog/hardcopyiv
cyclone_ver = $MODEL_TECH/../altera/verilog/cyclone
cycloneii_ver = $MODEL_TECH/../altera/verilog/cycloneii
cycloneiii_ver = $MODEL_TECH/../altera/verilog/cycloneiii
cycloneiiils_ver = $MODEL_TECH/../altera/verilog/cycloneiiils
sgate_ver = $MODEL_TECH/../altera/verilog/sgate
stratixgx_ver = $MODEL_TECH/../altera/verilog/stratixgx
altgxb_ver = $MODEL_TECH/../altera/verilog/altgxb
stratixgx_gxb_ver = $MODEL_TECH/../altera/verilog/stratixgx_gxb
stratixiigx_hssi_ver = $MODEL_TECH/../altera/verilog/stratixiigx_hssi
arriagx_hssi_ver = $MODEL_TECH/../altera/verilog/arriagx_hssi
arriaii_ver = $MODEL_TECH/../altera/verilog/arriaii
arriaii_hssi_ver = $MODEL_TECH/../altera/verilog/arriaii_hssi
arriaii_pcie_hip_ver = $MODEL_TECH/../altera/verilog/arriaii_pcie_hip
arriaiigz_ver = $MODEL_TECH/../altera/verilog/arriaiigz
arriaiigz_hssi_ver = $MODEL_TECH/../altera/verilog/arriaiigz_hssi
arriaiigz_pcie_hip_ver = $MODEL_TECH/../altera/verilog/arriaiigz_pcie_hip
stratixiii_ver = $MODEL_TECH/../altera/verilog/stratixiii
stratixiii = $MODEL_TECH/../altera/vhdl/stratixiii
stratixiv_ver = $MODEL_TECH/../altera/verilog/stratixiv
stratixiv_hssi_ver = $MODEL_TECH/../altera/verilog/stratixiv_hssi
stratixiv_pcie_hip_ver = $MODEL_TECH/../altera/verilog/stratixiv_pcie_hip
stratixv_ver = $MODEL_TECH/../altera/verilog/stratixv
stratixv_hssi_ver = $MODEL_TECH/../altera/verilog/stratixv_hssi
stratixv_pcie_hip_ver = $MODEL_TECH/../altera/verilog/stratixv_pcie_hip
arriavgz_ver = $MODEL_TECH/../altera/verilog/arriavgz
arriavgz_hssi_ver = $MODEL_TECH/../altera/verilog/arriavgz_hssi
arriavgz_pcie_hip_ver = $MODEL_TECH/../altera/verilog/arriavgz_pcie_hip
arriav_ver = $MODEL_TECH/../altera/verilog/arriav
arriav_hssi_ver = $MODEL_TECH/../altera/verilog/arriav_hssi
arriav_pcie_hip_ver = $MODEL_TECH/../altera/verilog/arriav_pcie_hip
cyclonev_ver = $MODEL_TECH/../altera/verilog/cyclonev
cyclonev_hssi_ver = $MODEL_TECH/../altera/verilog/cyclonev_hssi
cyclonev_pcie_hip_ver = $MODEL_TECH/../altera/verilog/cyclonev_pcie_hip
cycloneiv_ver = $MODEL_TECH/../altera/verilog/cycloneiv
cycloneiv_hssi_ver = $MODEL_TECH/../altera/verilog/cycloneiv_hssi
cycloneiv_pcie_hip_ver = $MODEL_TECH/../altera/verilog/cycloneiv_pcie_hip
cycloneive_ver = $MODEL_TECH/../altera/verilog/cycloneive
hardcopyiv_hssi_ver = $MODEL_TECH/../altera/verilog/hardcopyiv_hssi
hardcopyiv_pcie_hip_ver = $MODEL_TECH/../altera/verilog/hardcopyiv_pcie_hip
twentynm_ver = $MODEL_TECH/../altera/verilog/twentynm
twentynm_hssi_ver = $MODEL_TECH/../altera/verilog/twentynm_hssi
twentynm_hip_ver = $MODEL_TECH/../altera/verilog/twentynm_hip
work = work
[vcom]
; VHDL93 variable selects language version as the default.
; Default is VHDL-2002.
; Value of 0 or 1987 for VHDL-1987.
; Value of 1 or 1993 for VHDL-1993.
; Default or value of 2 or 2002 for VHDL-2002.
; Default or value of 3 or 2008 for VHDL-2008.
VHDL93 = 2002
; Show source line containing error. Default is off.
; Show_source = 1
; Turn off unbound-component warnings. Default is on.
; Show_Warning1 = 0
; Turn off process-without-a-wait-statement warnings. Default is on.
; Show_Warning2 = 0
; Turn off null-range warnings. Default is on.
; Show_Warning3 = 0
; Turn off no-space-in-time-literal warnings. Default is on.
; Show_Warning4 = 0
; Turn off multiple-drivers-on-unresolved-signal warnings. Default is on.
; Show_Warning5 = 0
; Turn off optimization for IEEE std_logic_1164 package. Default is on.
; Optimize_1164 = 0
; Turn on resolving of ambiguous function overloading in favor of the
; "explicit" function declaration (not the one automatically created by
; the compiler for each type declaration). Default is off.
; The .ini file has Explicit enabled so that std_logic_signed/unsigned
; will match the behavior of synthesis tools.
Explicit = 1
; Turn off acceleration of the VITAL packages. Default is to accelerate.
; NoVital = 1
; Turn off VITAL compliance checking. Default is checking on.
; NoVitalCheck = 1
; Ignore VITAL compliance checking errors. Default is to not ignore.
; IgnoreVitalErrors = 1
; Turn off VITAL compliance checking warnings. Default is to show warnings.
; Show_VitalChecksWarnings = 0
; Keep silent about case statement static warnings.
; Default is to give a warning.
; NoCaseStaticError = 1
; Keep silent about warnings caused by aggregates that are not locally static.
; Default is to give a warning.
; NoOthersStaticError = 1
; Turn off inclusion of debugging info within design units.
; Default is to include debugging info.
; NoDebug = 1
; Turn off "Loading..." messages. Default is messages on.
; Quiet = 1
; Turn on some limited synthesis rule compliance checking. Checks only:
; -- signals used (read) by a process must be in the sensitivity list
; CheckSynthesis = 1
; Activate optimizations on expressions that do not involve signals,
; waits, or function/procedure/task invocations. Default is off.
; ScalarOpts = 1
; Require the user to specify a configuration for all bindings,
; and do not generate a compile time default binding for the
; component. This will result in an elaboration error of
; 'component not bound' if the user fails to do so. Avoids the rare
; issue of a false dependency upon the unused default binding.
; RequireConfigForAllDefaultBinding = 1
; Inhibit range checking on subscripts of arrays. Range checking on
; scalars defined with subtypes is inhibited by default.
; NoIndexCheck = 1
; Inhibit range checks on all (implicit and explicit) assignments to
; scalar objects defined with subtypes.
; NoRangeCheck = 1
[vlog]
; Turn off inclusion of debugging info within design units.
; Default is to include debugging info.
; NoDebug = 1
; Turn off "loading..." messages. Default is messages on.
; Quiet = 1
; Turn on Verilog hazard checking (order-dependent accessing of global vars).
; Default is off.
; Hazard = 1
; Turn on converting regular Verilog identifiers to uppercase. Allows case
; insensitivity for module names. Default is no conversion.
; UpCase = 1
; Turn on incremental compilation of modules. Default is off.
; Incremental = 1
; Turns on lint-style checking.
; Show_Lint = 1
[vsim]
; Simulator resolution
; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100.
Resolution = ps
; User time unit for run commands
; Set to default, fs, ps, ns, us, ms, or sec. The default is to use the
; unit specified for Resolution. For example, if Resolution is 100ps,
; then UserTimeUnit defaults to ps.
; Should generally be set to default.
UserTimeUnit = default
; Default run length
RunLength = 100 ps
; Maximum iterations that can be run without advancing simulation time
IterationLimit = 5000
; Directive to license manager:
; vhdl Immediately reserve a VHDL license
; vlog Immediately reserve a Verilog license
; plus Immediately reserve a VHDL and Verilog license
; nomgc Do not look for Mentor Graphics Licenses
; nomti Do not look for Model Technology Licenses
; noqueue Do not wait in the license queue when a license isn't available
; viewsim Try for viewer license but accept simulator license(s) instead
; of queuing for viewer license
; License = plus
; Stop the simulator after a VHDL/Verilog assertion message
; 0 = Note 1 = Warning 2 = Error 3 = Failure 4 = Fatal
BreakOnAssertion = 3
; Assertion Message Format
; %S - Severity Level
; %R - Report Message
; %T - Time of assertion
; %D - Delta
; %I - Instance or Region pathname (if available)
; %% - print '%' character
; AssertionFormat = "** %S: %R\n Time: %T Iteration: %D%I\n"
; Assertion File - alternate file for storing VHDL/Verilog assertion messages
; AssertFile = assert.log
; Default radix for all windows and commands...
; Set to symbolic, ascii, binary, octal, decimal, hex, unsigned
DefaultRadix = symbolic
; VSIM Startup command
; Startup = do startup.do
; File for saving command transcript
TranscriptFile = transcript
; File for saving command history
; CommandHistory = cmdhist.log
; Specify whether paths in simulator commands should be described
; in VHDL or Verilog format.
; For VHDL, PathSeparator = /
; For Verilog, PathSeparator = .
; Must not be the same character as DatasetSeparator.
PathSeparator = /
; Specify the dataset separator for fully rooted contexts.
; The default is ':'. For example, sim:/top
; Must not be the same character as PathSeparator.
DatasetSeparator = :
; Disable VHDL assertion messages
; IgnoreNote = 1
; IgnoreWarning = 1
; IgnoreError = 1
; IgnoreFailure = 1
; Default force kind. May be freeze, drive, deposit, or default
; or in other terms, fixed, wired, or charged.
; A value of "default" will use the signal kind to determine the
; force kind, drive for resolved signals, freeze for unresolved signals
; DefaultForceKind = freeze
; If zero, open files when elaborated; otherwise, open files on
; first read or write. Default is 0.
; DelayFileOpen = 1
; Control VHDL files opened for write.
; 0 = Buffered, 1 = Unbuffered
UnbufferedOutput = 0
; Control the number of VHDL files open concurrently.
; This number should always be less than the current ulimit
; setting for max file descriptors.
; 0 = unlimited
ConcurrentFileLimit = 40
; Control the number of hierarchical regions displayed as
; part of a signal name shown in the Wave window.
; A value of zero tells VSIM to display the full name.
; The default is 0.
; WaveSignalNameWidth = 0
; Turn off warnings from the std_logic_arith, std_logic_unsigned
; and std_logic_signed packages.
; StdArithNoWarnings = 1
; Turn off warnings from the IEEE numeric_std and numeric_bit packages.
; NumericStdNoWarnings = 1
; Control the format of the (VHDL) FOR generate statement label
; for each iteration. Do not quote it.
; The format string here must contain the conversion codes %s and %d,
; in that order, and no other conversion codes. The %s represents
; the generate_label; the %d represents the generate parameter value
; at a particular generate iteration (this is the position number if
; the generate parameter is of an enumeration type). Embedded whitespace
; is allowed (but discouraged); leading and trailing whitespace is ignored.
; Application of the format must result in a unique scope name over all
; such names in the design so that name lookup can function properly.
; GenerateFormat = %s__%d
; Specify whether checkpoint files should be compressed.
; The default is 1 (compressed).
; CheckpointCompressMode = 0
; List of dynamically loaded objects for Verilog PLI applications
; Veriuser = veriuser.sl
; Specify default options for the restart command. Options can be one
; or more of: -force -nobreakpoint -nolist -nolog -nowave
; DefaultRestartOptions = -force
; HP-UX 10.20 ONLY - Enable memory locking to speed up large designs
; (> 500 megabyte memory footprint). Default is disabled.
; Specify number of megabytes to lock.
; LockedMemory = 1000
; Turn on (1) or off (0) WLF file compression.
; The default is 1 (compress WLF file).
; WLFCompress = 0
; Specify whether to save all design hierarchy (1) in the WLF file
; or only regions containing logged signals (0).
; The default is 0 (save only regions with logged signals).
; WLFSaveAllRegions = 1
; WLF file time limit. Limit WLF file by time, as closely as possible,
; to the specified amount of simulation time. When the limit is exceeded
; the earliest times get truncated from the file.
; If both time and size limits are specified the most restrictive is used.
; UserTimeUnits are used if time units are not specified.
; The default is 0 (no limit). Example: WLFTimeLimit = {100 ms}
; WLFTimeLimit = 0
; WLF file size limit. Limit WLF file size, as closely as possible,
; to the specified number of megabytes. If both time and size limits
; are specified then the most restrictive is used.
; The default is 0 (no limit).
; WLFSizeLimit = 1000
; Specify whether or not a WLF file should be deleted when the
; simulation ends. A value of 1 will cause the WLF file to be deleted.
; The default is 0 (do not delete WLF file when simulation ends).
; WLFDeleteOnQuit = 1
; Automatic SDF compilation
; Disables automatic compilation of SDF files in flows that support it.
; Default is on, uncomment to turn off.
; NoAutoSDFCompile = 1
[lmc]
[msg_system]
; Change a message severity or suppress a message.
; The format is: <msg directive> = <msg number>[,<msg number>...]
; Examples:
; note = 3009
; warning = 3033
; error = 3010,3016
; fatal = 3016,3033
; suppress = 3009,3016,3043
; The command verror <msg number> can be used to get the complete
; description of a message.
; Control transcripting of elaboration/runtime messages.
; The default is to have messages appear in the transcript and
; recorded in the wlf file (messages that are recorded in the
; wlf file can be viewed in the MsgViewer). The other settings
; are to send messages only to the transcript or only to the
; wlf file. The valid values are
; both {default}
; tran {transcript only}
; wlf {wlf file only}
; msgmode = both
[Project]
; Warning -- Do not edit the project properties directly.
; Property names are dynamic in nature and property
; values have special syntax. Changing property data directly
; can result in a corrupt MPF file. All project properties
; can be modified through project window dialogs.
Project_Version = 6
Project_DefaultLib = work
Project_SortMethod = unused
Project_Files_Count = 18
Project_File_0 = E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top_tb.sv
Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1551505557 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 13 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_1 = E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv
Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_2 = E:/work-Lab/USTCRVSoC/hardware/RTL/user_uart_tx.sv
Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1551167092 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 1 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 16 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_3 = E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv
Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 14 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_4 = E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv
Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1551094921 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_5 = E:/work-Lab/USTCRVSoC/hardware/RTL/video_ram.sv
Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1551166630 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 1 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 17 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_6 = E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv
Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1551092170 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 15 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_7 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv
Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_8 = E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top.sv
Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1551505505 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 1 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 12 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_9 = E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv
Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1551102643 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_10 = E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv
Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1551090389 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 10 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_11 = E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv
Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1550846066 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 11 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_12 = E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv
Project_File_P_12 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_13 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv
Project_File_P_13 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 2 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_14 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv
Project_File_P_14 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 3 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_15 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv
Project_File_P_15 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 0 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_16 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv
Project_File_P_16 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1549876350 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 1 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_17 = E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv
Project_File_P_17 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1551169276 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 5 cover_expr 0 dont_compile 0 cover_stmt 0
Project_Sim_Count = 0
Project_Folder_Count = 0
Echo_Compile_Output = 0
Save_Compile_Report = 1
Project_Opt_Count = 0
ForceSoftPaths = 0
ProjectStatusDelay = 5000
VERILOG_DoubleClick = Edit
VERILOG_CustomDoubleClick =
SYSTEMVERILOG_DoubleClick = Edit
SYSTEMVERILOG_CustomDoubleClick =
VHDL_DoubleClick = Edit
VHDL_CustomDoubleClick =
PSL_DoubleClick = Edit
PSL_CustomDoubleClick =
TEXT_DoubleClick = Edit
TEXT_CustomDoubleClick =
SYSTEMC_DoubleClick = Edit
SYSTEMC_CustomDoubleClick =
TCL_DoubleClick = Edit
TCL_CustomDoubleClick =
MACRO_DoubleClick = Edit
MACRO_CustomDoubleClick =
VCD_DoubleClick = Edit
VCD_CustomDoubleClick =
SDF_DoubleClick = Edit
SDF_CustomDoubleClick =
XML_DoubleClick = Edit
XML_CustomDoubleClick =
LOGFILE_DoubleClick = Edit
LOGFILE_CustomDoubleClick =
UCDB_DoubleClick = Edit
UCDB_CustomDoubleClick =
UPF_DoubleClick = Edit
UPF_CustomDoubleClick =
PCF_DoubleClick = Edit
PCF_CustomDoubleClick =
PROJECT_DoubleClick = Edit
PROJECT_CustomDoubleClick =
VRM_DoubleClick = Edit
VRM_CustomDoubleClick =
DEBUGDATABASE_DoubleClick = Edit
DEBUGDATABASE_CustomDoubleClick =
DEBUGARCHIVE_DoubleClick = Edit
DEBUGARCHIVE_CustomDoubleClick =
Project_Major_Version = 10
Project_Minor_Version = 1

BIN
hardware/ModelSim/vsim.wlf Normal file

Binary file not shown.

View File

@ -0,0 +1,468 @@
m255
K3
13
cModel Technology
Z0 dC:\altera\13.1
vchar8x16_rom
Z1 DXx6 sv_std 3 std 0 22 F[19LRNL:5;XmIFh[XOPn1
!i10b 1
Z2 !s100 ;IlD4IOMGEYo80>^h^UhK3
Z3 I<>FR1OkHc6KV4iK0a<Q?<0
Z4 VN2h6;hjMc8b_1gne=2;Q10
Z5 !s105 video_ram_sv_unit
S1
Z6 dE:\work-Lab\USTCRVSoC\hardware\ModelSim
Z7 w1551166630
Z8 8E:/work-Lab/USTCRVSoC/hardware/RTL/video_ram.sv
Z9 FE:/work-Lab/USTCRVSoC/hardware/RTL/video_ram.sv
Z10 L0 202
Z11 OV;L;10.1d;51
r1
!s85 0
31
Z12 !s108 1551505561.076000
Z13 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/video_ram.sv|
Z14 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/video_ram.sv|
!s101 -O0
Z15 o-work work -sv -O0
vcore_alu
R1
Z16 !s100 iCH1]MMmI?;=TKD:>Fe_b2
Z17 I?HDS_jndEJ3e84j7B6zi00
Z18 VCm9FCj0lB9T7DXWo]1;1f0
Z19 !s105 core_alu_sv_unit
S1
R6
Z20 w1549876350
Z21 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv
Z22 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv
L0 1
R11
r1
31
Z23 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv|
R15
Z24 !s108 1551505559.882000
Z25 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_alu.sv|
!i10b 1
!s85 0
!s101 -O0
vcore_bus_wrapper
R1
Z26 !s100 M_`JZE_P3V6d4RWWRY8751
Z27 I4k_4?GVX@^QA>lfAA:7Ce3
Z28 VmlnoE:bmH;9e3[Jfd^_M=3
Z29 !s105 core_bus_wrapper_sv_unit
S1
R6
R20
Z30 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv
Z31 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv
L0 1
R11
r1
31
Z32 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv|
R15
Z33 !s108 1551505559.961000
Z34 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_bus_wrapper.sv|
!i10b 1
!s85 0
!s101 -O0
vcore_ex_branch_judge
R1
Z35 !s100 e`[4=hnRGoQ8ei^3k>On51
Z36 IJFElj3c9672KTjE9TR>LF1
Z37 V@jT?>bnOD2?j_T4=3fkh_3
Z38 !s105 core_ex_branch_judge_sv_unit
S1
R6
R20
Z39 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv
Z40 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv
L0 1
R11
r1
31
Z41 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv|
R15
Z42 !s108 1551505560.045000
Z43 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv|
!i10b 1
!s85 0
!s101 -O0
vcore_id_stage
R1
Z44 !s100 kRDMIRciCbeOb5=R?37071
Z45 Io4GObCTY4;CTKQ<HjO:=V3
Z46 Vfo`K`XV=DajZ8Eb]j?gV:3
Z47 !s105 core_id_stage_sv_unit
S1
R6
R20
Z48 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv
Z49 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv
L0 1
R11
r1
31
Z50 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv|
R15
Z51 !s108 1551505560.109000
Z52 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_stage.sv|
!i10b 1
!s85 0
!s101 -O0
vcore_regfile
R1
Z53 !s100 Dna_T_?^^W?K0@1mdN7?P2
Z54 ID]n5X]WVRSDO5WE>0hl0]3
Z55 VaXLkm<HFE<T[8I`oKbaaA1
Z56 !s105 core_regfile_sv_unit
S1
R6
R20
Z57 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv
Z58 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv
L0 2
R11
r1
31
Z59 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv|
R15
Z60 !s108 1551505560.178000
Z61 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_regfile.sv|
!i10b 1
!s85 0
!s101 -O0
vcore_top
R1
Z62 !s100 O2VJO7S?RbR=^Rj:fN=0`2
Z63 I8?0idhHn?IYLgTaS3djD>3
Z64 Vi7?O@h6m5O3BFF`kIdBUC2
Z65 !s105 core_top_sv_unit
S1
R6
Z66 w1551169276
Z67 8E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv
Z68 FE:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv
L0 1
R11
r1
31
Z69 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv|
R15
Z70 !s108 1551505560.245000
Z71 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/core_top.sv|
!i10b 1
!s85 0
!s101 -O0
vinstr_rom
R1
Z72 !s100 Bd]Z1a^3]kD30E<26M`Lm1
Z73 IOc1Uo_kS08]?1_CKOHHU?0
Z74 Vg27TzclZ3S3@lBLMlA`?L1
Z75 !s105 instr_rom_sv_unit
S1
R6
Z76 w1551094921
Z77 8E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv
Z78 FE:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv
L0 1
R11
r1
31
Z79 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv|
R15
Z80 !s108 1551505560.314000
Z81 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/instr_rom.sv|
!i10b 1
!s85 0
!s101 -O0
visp_uart
R1
Z82 !s100 @dmH];GG>K;lS7PljQ:Am1
Z83 I_4gBZG2Ib<khkdHbSDz?I0
Z84 V@@jZ3Y6;d=WD@H08`7cWF3
Z85 !s105 isp_uart_sv_unit
S1
R6
Z86 w1551102643
Z87 8E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv
Z88 FE:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv
L0 3
R11
r1
31
Z89 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv|
R15
Z90 !s108 1551505560.388000
Z91 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/isp_uart.sv|
!i10b 1
!s85 0
!s101 -O0
Ynaive_bus
R1
Z92 !s100 gFz59kzW]I]nGiaVoSo3O2
Z93 Idj:03TOO?jDHzf[0c?lJ`2
Z94 VKXR@0<URHIKN=UGzERidm1
Z95 !s105 naive_bus_sv_unit
S1
R6
R20
Z96 8E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv
Z97 FE:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv
L0 4
R11
r1
31
Z98 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv|
R15
Z99 !s108 1551505560.458000
Z100 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus.sv|
!i10b 1
!s85 0
!s101 -O0
vnaive_bus_router
R1
Z101 !s100 nSRUejF=Q5]HdBmmdfzLA1
Z102 I^NC0W49]?el6;z^6BojXI2
Z103 VS<O=OM<>7@f0]AeUc<_5c0
Z104 !s105 naive_bus_router_sv_unit
S1
R6
R20
Z105 8E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv
Z106 FE:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv
L0 1
R11
r1
31
Z107 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv|
R15
Z108 !s108 1551505560.524000
Z109 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/naive_bus_router.sv|
!i10b 1
!s85 0
!s101 -O0
vram
R1
Z110 !s100 TMn[TG8XXmK^UL@k7`ikC0
Z111 INIlD0C@nO9Rk96M@_1B?92
Z112 VjLloJg4mGdQ3i@ojJbWma2
Z113 !s105 ram_sv_unit
S1
R6
Z114 w1551090389
Z115 8E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv
Z116 FE:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv
L0 1
R11
r1
31
Z117 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv|
R15
Z118 !s108 1551505560.595000
Z119 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/ram.sv|
!i10b 1
!s85 0
!s101 -O0
vram_bus_wrapper
R1
Z120 !s100 U?Io3WFYaekAS0T@dW=V43
Z121 I?^eTo:Go<IUo<UVJm@aFd0
Z122 V^7VeTGko3:7B>^H5Y:FP:1
Z123 !s105 ram_bus_wrapper_sv_unit
S1
R6
Z124 w1550846066
Z125 8E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv
Z126 FE:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv
L0 1
R11
r1
31
Z127 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv|
R15
Z128 !s108 1551505560.660000
Z129 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/ram_bus_wrapper.sv|
!i10b 1
!s85 0
!s101 -O0
vsoc_top
R1
Z130 IX85mf[[9oQ]V7eK[]II;01
Z131 VQ=e`6`fzTCbZ78O>KAKe>2
Z132 !s105 soc_top_sv_unit
S1
R6
Z133 w1551505505
Z134 8E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top.sv
Z135 FE:/work-Lab/USTCRVSoC/hardware/RTL/soc_top.sv
L0 1
R11
r1
31
Z136 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top.sv|
R15
Z137 !s100 LMhfd9`0AH32SARk[<Z470
Z138 !s108 1551505560.725000
Z139 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/soc_top.sv|
!i10b 1
!s85 0
!s101 -O0
vsoc_top_tb
R1
Z140 I3jM5<::]YSG=2?]>]:L;L3
Z141 VkLTgIQbfzI]@>Jm[T?T@F0
Z142 !s105 soc_top_tb_sv_unit
S1
R6
Z143 w1551505557
Z144 8E:\work-Lab\USTCRVSoC\hardware\RTL\soc_top_tb.sv
Z145 FE:\work-Lab\USTCRVSoC\hardware\RTL\soc_top_tb.sv
L0 1
R11
r1
31
R15
Z146 !s100 [cOSC1Uh3BK?X?_L=Pb:d1
Z147 !s108 1551505560.791000
Z148 !s107 E:\work-Lab\USTCRVSoC\hardware\RTL\soc_top_tb.sv|
Z149 !s90 -reportprogress|300|-work|work|-sv|E:\work-Lab\USTCRVSoC\hardware\RTL\soc_top_tb.sv|
!i10b 1
!s85 0
!s101 -O0
vuart_rx
R1
Z150 !s100 :`YDkKm;LaUQOjOXmaKB:0
Z151 IL9Ji^>V6GeZ<;c7I`o3LQ1
Z152 Vh0;PUSD9VYIXe2P@6jV9;0
Z153 !s105 uart_rx_sv_unit
S1
R6
R20
Z154 8E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv
Z155 FE:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv
L0 1
R11
r1
31
Z156 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv|
R15
Z157 !s108 1551505560.871000
Z158 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/uart_rx.sv|
!i10b 1
!s85 0
!s101 -O0
vuart_tx_line
R1
Z159 !s100 WEQ@68?0=RGj1iFdbOOcP2
Z160 IK1;[1cPPe^6]7LKQ15Lf21
Z161 VW`_FG<Oo:1]3K5g>fF=@_3
Z162 !s105 uart_tx_line_sv_unit
S1
R6
Z163 w1551092170
Z164 8E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv
Z165 FE:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv
L0 2
R11
r1
31
Z166 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv|
R15
Z167 !s108 1551505560.944000
Z168 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/uart_tx_line.sv|
!i10b 1
!s85 0
!s101 -O0
vuser_uart_tx
R1
Z169 !s100 YA]KWMS3fOD:CQT@0Y9C83
Z170 I0JOL7FjkENP;iNc25_jl92
Z171 V<1FQ0oW1UA`j`9IX[bcdE1
Z172 !s105 user_uart_tx_sv_unit
S1
R6
Z173 w1551167092
Z174 8E:/work-Lab/USTCRVSoC/hardware/RTL/user_uart_tx.sv
Z175 FE:/work-Lab/USTCRVSoC/hardware/RTL/user_uart_tx.sv
L0 2
R11
r1
31
Z176 !s90 -reportprogress|300|-work|work|-sv|E:/work-Lab/USTCRVSoC/hardware/RTL/user_uart_tx.sv|
R15
!i10b 1
!s85 0
Z177 !s108 1551505561.010000
Z178 !s107 E:/work-Lab/USTCRVSoC/hardware/RTL/user_uart_tx.sv|
!s101 -O0
vvga
R1
!i10b 1
Z179 !s100 9f0>Y=7iSmCK^QMkzVhdz2
Z180 IK]n:1gV]8z:A^2D<Og@_H3
Z181 VR^SlDkaag;z6W]0_6nChW1
R5
S1
R6
R7
R8
R9
Z182 L0 147
R11
r1
!s85 0
31
R12
R13
R14
!s101 -O0
R15
vvgaChar98x36
R1
!i10b 1
Z183 !s100 3ih;Pko8X4XgOhl5e4_Gh0
Z184 IaM^Q2hPSE=jENCH[nQnb^0
Z185 VkYR^g;?9@>9aFYMNc5Beh0
R5
S1
R6
R7
R8
R9
L0 82
R11
r1
!s85 0
31
R12
R13
R14
!s101 -O0
R15
Z186 nvga@char98x36
vvideo_ram
R1
!i10b 1
Z187 !s100 `YSFQF4S?^]MHPKnUlGj:2
Z188 IPVzCYEAl]UFiSXzJTNDQT3
Z189 Vl^[jWF`OTazg>MX7@1zUi2
R5
S1
R6
R7
R8
R9
L0 1
R11
r1
!s85 0
31
R12
R13
R14
!s101 -O0
R15

View File

@ -0,0 +1,3 @@
m255
K3
cModel Technology

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
library verilog;
use verilog.vl_types.all;
entity char8x16_rom is
port(
clk : in vl_logic;
rst_n : in vl_logic;
ascii : in vl_logic_vector(7 downto 0);
x : in vl_logic_vector(2 downto 0);
y : in vl_logic_vector(3 downto 0);
b : out vl_logic
);
end char8x16_rom;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,13 @@
library verilog;
use verilog.vl_types.all;
entity core_alu is
port(
i_opcode : in vl_logic_vector(6 downto 0);
i_funct7 : in vl_logic_vector(6 downto 0);
i_funct3 : in vl_logic_vector(2 downto 0);
i_num1u : in vl_logic_vector(31 downto 0);
i_num2u : in vl_logic_vector(31 downto 0);
i_immu : in vl_logic_vector(31 downto 0);
o_res : out vl_logic_vector(31 downto 0)
);
end core_alu;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,16 @@
library verilog;
use verilog.vl_types.all;
entity core_bus_wrapper is
port(
clk : in vl_logic;
rst_n : in vl_logic;
i_re : in vl_logic;
i_we : in vl_logic;
o_conflict : out vl_logic;
o_conflict_latch: out vl_logic;
i_funct3 : in vl_logic_vector(2 downto 0);
i_addr : in vl_logic_vector(31 downto 0);
i_wdata : in vl_logic_vector(31 downto 0);
o_rdata : out vl_logic_vector(31 downto 0)
);
end core_bus_wrapper;

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,11 @@
library verilog;
use verilog.vl_types.all;
entity core_ex_branch_judge is
port(
i_branch : in vl_logic;
i_num1u : in vl_logic_vector(31 downto 0);
i_num2u : in vl_logic_vector(31 downto 0);
i_funct3 : in vl_logic_vector(2 downto 0);
o_branch : out vl_logic
);
end core_ex_branch_judge;

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,26 @@
library verilog;
use verilog.vl_types.all;
entity core_id_stage is
port(
i_instr : in vl_logic_vector(31 downto 0);
i_pc : in vl_logic_vector(31 downto 0);
o_rs1_addr : out vl_logic_vector(4 downto 0);
o_rs2_addr : out vl_logic_vector(4 downto 0);
o_rs1_en : out vl_logic;
o_rs2_en : out vl_logic;
o_jal : out vl_logic;
o_jalr : out vl_logic;
o_branch_may : out vl_logic;
o_nextpc2reg : out vl_logic;
o_alures2reg : out vl_logic;
o_memory2reg : out vl_logic;
o_mem_write : out vl_logic;
o_pc_plus_imm : out vl_logic_vector(31 downto 0);
o_imm : out vl_logic_vector(31 downto 0);
o_dst_reg_addr : out vl_logic_vector(4 downto 0);
o_opcode : out vl_logic_vector(6 downto 0);
o_funct7 : out vl_logic_vector(6 downto 0);
o_funct3 : out vl_logic_vector(2 downto 0);
o_next_pc : out vl_logic_vector(31 downto 0)
);
end core_id_stage;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,24 @@
library verilog;
use verilog.vl_types.all;
entity core_regfile is
port(
clk : in vl_logic;
rst_n : in vl_logic;
rd_latch : in vl_logic;
i_re1 : in vl_logic;
i_raddr1 : in vl_logic_vector(4 downto 0);
o_rdata1 : out vl_logic_vector(31 downto 0);
i_re2 : in vl_logic;
i_raddr2 : in vl_logic_vector(4 downto 0);
o_rdata2 : out vl_logic_vector(31 downto 0);
i_we1 : in vl_logic;
i_waddr1 : in vl_logic_vector(4 downto 0);
i_wdata1 : in vl_logic_vector(31 downto 0);
i_we2 : in vl_logic;
i_waddr2 : in vl_logic_vector(4 downto 0);
i_wdata2 : in vl_logic_vector(31 downto 0);
i_we3 : in vl_logic;
i_waddr3 : in vl_logic_vector(4 downto 0);
i_wdata3 : in vl_logic_vector(31 downto 0)
);
end core_regfile;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,9 @@
library verilog;
use verilog.vl_types.all;
entity core_top is
port(
clk : in vl_logic;
rst_n : in vl_logic;
i_boot_addr : in vl_logic_vector(31 downto 0)
);
end core_top;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
library verilog;
use verilog.vl_types.all;
entity instr_rom is
port(
clk : in vl_logic;
rst_n : in vl_logic
);
end instr_rom;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,18 @@
library verilog;
use verilog.vl_types.all;
entity isp_uart is
generic(
UART_RX_CLK_DIV : integer := 108;
UART_TX_CLK_DIV : integer := 434
);
port(
clk : in vl_logic;
i_uart_rx : in vl_logic;
o_uart_tx : out vl_logic;
o_rst_n : out vl_logic;
o_boot_addr : out vl_logic_vector(31 downto 0)
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of UART_RX_CLK_DIV : constant is 1;
attribute mti_svvh_generic_type of UART_TX_CLK_DIV : constant is 1;
end isp_uart;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
library verilog;
use verilog.vl_types.all;
entity naive_bus is
end naive_bus;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,19 @@
library verilog;
use verilog.vl_types.all;
entity naive_bus_router is
generic(
N_MASTER : vl_logic_vector(7 downto 0) := (Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi1, Hi0);
N_SLAVE : vl_logic_vector(7 downto 0) := (Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi1, Hi1);
SLAVES_MASK : vl_logic_vector;
SLAVES_BASE : vl_logic_vector
);
port(
clk : in vl_logic;
rst_n : in vl_logic
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of N_MASTER : constant is 2;
attribute mti_svvh_generic_type of N_SLAVE : constant is 2;
attribute mti_svvh_generic_type of SLAVES_MASK : constant is 4;
attribute mti_svvh_generic_type of SLAVES_BASE : constant is 4;
end naive_bus_router;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
library verilog;
use verilog.vl_types.all;
entity ram is
port(
clk : in vl_logic;
i_we : in vl_logic;
i_waddr : in vl_logic_vector(9 downto 0);
i_raddr : in vl_logic_vector(9 downto 0);
i_wdata : in vl_logic_vector(7 downto 0);
o_rdata : out vl_logic_vector(7 downto 0)
);
end ram;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
library verilog;
use verilog.vl_types.all;
entity ram_bus_wrapper is
port(
clk : in vl_logic;
rst_n : in vl_logic
);
end ram_bus_wrapper;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,19 @@
library verilog;
use verilog.vl_types.all;
entity soc_top is
generic(
UART_RX_CLK_DIV : integer := 108;
UART_TX_CLK_DIV : integer := 434
);
port(
clk : in vl_logic;
isp_uart_rx : in vl_logic;
isp_uart_tx : out vl_logic;
vga_hsync : out vl_logic;
vga_vsync : out vl_logic;
vga_pixel : out vl_logic_vector(15 downto 0)
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of UART_RX_CLK_DIV : constant is 1;
attribute mti_svvh_generic_type of UART_TX_CLK_DIV : constant is 1;
end soc_top;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
library verilog;
use verilog.vl_types.all;
entity soc_top_tb is
end soc_top_tb;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
library verilog;
use verilog.vl_types.all;
entity uart_rx is
generic(
UART_RX_CLK_DIV : integer := 108
);
port(
clk : in vl_logic;
i_rx : in vl_logic;
o_ready : out vl_logic;
o_data : out vl_logic_vector(7 downto 0)
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of UART_RX_CLK_DIV : constant is 1;
end uart_rx;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,16 @@
library verilog;
use verilog.vl_types.all;
entity uart_tx_line is
generic(
UART_TX_CLK_DIV : integer := 434
);
port(
clk : in vl_logic;
o_tx : out vl_logic;
i_start : in vl_logic;
o_fin : out vl_logic;
i_data : in vl_logic_vector(7 downto 0)
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of UART_TX_CLK_DIV : constant is 1;
end uart_tx_line;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,14 @@
library verilog;
use verilog.vl_types.all;
entity user_uart_tx is
generic(
UART_TX_CLK_DIV : integer := 434
);
port(
clk : in vl_logic;
rst_n : in vl_logic;
o_uart_tx : out vl_logic
);
attribute mti_svvh_generic_type : integer;
attribute mti_svvh_generic_type of UART_TX_CLK_DIV : constant is 1;
end user_uart_tx;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More