原理:點這裏
本章節均已通過educoder平臺測試~
字庫電路
電路
字庫文件在16點陣字庫文件分拆中
加載即可
電路圖
然後注意字庫不是均分!!按順序放入!!
我還傻傻寫了個均分的程序…
import java.io.*;
public class SplitFileUtil {
public static void main(String[] args) {
String targetFile = "C:\\Users\\Administrator\\Desktop\\字庫文件\\HZK16_1.txt";
String saveDir = "C:\\Users\\Administrator\\Desktop\\字庫文件\\";
String saveFileName = "結果";
String suffix = "txt";
long splitSize = 2209;
try {
splitFile(targetFile, saveDir, saveFileName, suffix, splitSize);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void splitFile(String targetFile, String saveDir , String saveFileName, String suffix,long splitSize) throws Exception {
File file = new File(targetFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
String str = null;
long len = 0;
BufferedWriter writer = null;
while ((str = reader.readLine()) != null) {
long txtSize = (len / splitSize) + 1;
String fileName = saveDir + saveFileName + txtSize + "." + suffix;
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName, true),"gb2312"));
writer.write(str + System.lineSeparator() );
writer.flush();
len ++;
}
writer.close();
reader.close();
System.out.println("執行完成");
}
}
載入即可。
MIPS RAM設計
原理和要求
補充:
Addr在字訪問時忽略最低兩位;半字訪問時忽略最低位,倒數第二位爲片選;字節訪問時,第二位進行片選。
這裏的難點是如何進行Din分割,和str信號的選取。
首先要理解片選信號和存儲單元的關係。
爲了避免存儲單元中的數據被覆蓋,所以要根據Mode和第二位決定4個存儲器哪一個需要去存儲。
以最低位存儲器的str信號來說,字訪問的時候str必須高電平;1字節訪問的時候當片選信號爲0才進行訪問;2字節訪問的時候,片選信號爲0時進行訪問。
電路圖
在這裏掙扎了12小時,這個課對自學者來說太不友好了,很多細節太模糊了,真心希望能提供答案啊,朋友們幫忙去mooc上評論一下希望老師提供答案吧。
嘗試的時間太多就是無用的浪費了。
str信號區
其它區域
測試
MIPS寄存器文件設計
在做了在做了.jpg